Checke det man scanner ind (må kun være integer)

Tags:    java

Hej, hvordan checker man hvis fx man har:

System.out.print("Indtast Id nummer");
int id = sc.nextInt();

Hvordan indskærper man sine fejl, så man fx ikke kan indtaste "hej" som ikke er en Integer?

I mit tilfælde, har jeg mange af denne type fejl, hvor jeg kan kort og godt vil lave noget kode der gør man fx KUN kan indtaste en integer, og hvis man fx indtaster "test" så skal den spørge om nyt input.

Ved det vel skal være en form for While løkke.



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Hvis du indtaster hej, vil din kode give en fejl, da du ikke kan gemme "hej" i variablen int id, da "hej" er en String. I sådant et tilfælde vil programmet crashe.

For at undgå at programmet crasher, skal du bruge en try/catch blok.

http://docs.oracle.com/javase/tutorial/essential/exceptions/try.html

En try catch blok er et stykke kode der lader dig prøve noget af, f.eks. om inputtet fra brugeren er en int, og hvis der sker en fejl, så skal der catches en exception. En exception bruges til at forælle programmet.. Nåja, jeg ved godt at der er sket en fejl, men Du får mulighed for at gøre fejlen god igen.

Fold kodeboks ind/udJava kode 




For at se om inputtet nu også er det, du regner det for at være, skal du parse dit input.

Du kan konstruere det med undtagelser:

Fold kodeboks ind/udJava kode 




Indlæg senest redigeret d. 01.03.2014 10:55 af Bruger #18836
mange tak guys.. tager det til mig og implementerer det i programmet



t