30. november 2003 - 14:15Der er
18 kommentarer og 2 løsninger
Check at første ciffer ikke er 0
Java behandler integers, hvis første ciffer er 0 underligt. 012 bliver ikke til 12, men 10. Hvordan kontrollerer man at det første ciffer ikke er 0, eller er der en måde hvorpå 012 kan opfattes som 12 ?
det er et input udefra, så jeg skal enten smide en exception, dvs. detecte om der er 0 forrest, eller konvertere fra 8 talssystemet til 10 talssystemet. Hvilke af disse gøres lettest? Og hvordan?
du løser et rigtigt problem, men kik på parseInt metoden i klassen Integer. Du kan give den en ekstra parameter der fortæller hvilken radix den skal bruge og det er en både nemmere og bedre måde at gøre det på:
System.out.println( "'001987' giver " +Integer.parseInt( "001987", 10 ) );
Der har du jo også lavet den om til en string. Integer.parseInt(Integer.toString(016)); returnerer 14, så jeg er ikke rigtigt kommet nogle vegne. Jeg får et input int, som klassen kaldes med.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.