Ik doe een studie Informatica, en als toets voor Object Oriented Software Engineering hebben we een project gekregen wat we kunnen bestuderen (het word in de toets echt gebruikt)
Het is een soort van SMS simulator, je maakt een provider aan, een paar telefoontjes met telefoonnummers, en je kunt sms berichten heen en weer zenden.
Het viel me op dat de Telefoonnummers opgeslagen zijn als String, en niet als integer. Een nummer als 06xxxxxxxx is groter dan het maximum van Integer, dat weet ik, maar in de les als introductie gebruikte mijn leraar getallen met niet meer dan 4 cijfers. Dus dat is het niet denk ik.
Wat ik denk is dat een Int niet goed kan omgaan met een 0 aan het begin van een nummer. Ik heb daarom om dit te testen even deze methode gemaakt:
Als uitvoer kwam er 3345. Hier snap ik dus helemaal niks van, het lijkt geeneens op wat ik aan var. a heb meegegeven. Als ik bijv. 421 invoer, komt wel het goede getal eruit, het probleem lijkt dan ook niet bij mijn methode te liggen.
Ik hoop dat iemand van jullie snapt hoe dit werkt, en mij uit kan leggen waarom de uitvoer totaal niet lijkt op de invoer bij 06421 als int. Alvast bedankt
Het is een soort van SMS simulator, je maakt een provider aan, een paar telefoontjes met telefoonnummers, en je kunt sms berichten heen en weer zenden.
Het viel me op dat de Telefoonnummers opgeslagen zijn als String, en niet als integer. Een nummer als 06xxxxxxxx is groter dan het maximum van Integer, dat weet ik, maar in de les als introductie gebruikte mijn leraar getallen met niet meer dan 4 cijfers. Dus dat is het niet denk ik.
Wat ik denk is dat een Int niet goed kan omgaan met een 0 aan het begin van een nummer. Ik heb daarom om dit te testen even deze methode gemaakt:
code:
1
2
3
4
5
| public void TestNul() { a = 06421; System.out.println(" " +a); } |
Als uitvoer kwam er 3345. Hier snap ik dus helemaal niks van, het lijkt geeneens op wat ik aan var. a heb meegegeven. Als ik bijv. 421 invoer, komt wel het goede getal eruit, het probleem lijkt dan ook niet bij mijn methode te liggen.
Ik hoop dat iemand van jullie snapt hoe dit werkt, en mij uit kan leggen waarom de uitvoer totaal niet lijkt op de invoer bij 06421 als int. Alvast bedankt
I think there is a world market for maybe five computers. - Thomas Watson (1874-1956), Directeur van IBM (1943)