Goeiedag,
ik probeer een input te controleren met de functie sc.hasNextInt() om te kijken of het wel een geheel natuurlijk getal is (een integer dus
). Maar het werkt niet helemaal lekker, het probleem stukcode:
Zolang ik natuurlijke getallen invoer gaat alles naar wens, zodra ik bijv. 5.4 invul krijg ik inderdaad de melding dat ik alleen natuurlijke getallen mag invoeren.. vervolgens krijg ik gelijk de vraag Herhalen? als ik op y druk krijg ik gelijk weer te horen dat ik alleen natuurlijke getallen mag invoeren en staat er weer Herhalen? druk ik op n exit het programma, zoals het hoort, en typ ik iets anders als y of n dan zegt ie dat ik alleen y/n mag invoeren, ook zoals het hoort. Het probleem is dus dat ie de invoer van Herhalen? ook gebruikt als invoer van lucasInput en een y natuurlijk geen natuurlijk getal is waardoor ik die error krijg... Hoe fix ik dit?
ik probeer een input te controleren met de functie sc.hasNextInt() om te kijken of het wel een geheel natuurlijk getal is (een integer dus

Code:
do {
System.out.print("Geef een natuurlijk getal: ");
if (sc.hasNextInt()) {
lucasInput = sc.nextInt();
lucasReeks(lucasInput);
}
else {
System.out.println("Alleen natuurlijke getallen" +
" mogen worden ingevoerd!");
}
System.out.println("Nogmaals? [y/n]: ");
nogmaals = input.next().charAt(0);
}
while (nogmaals == 'Y' || nogmaals == 'y');
if (nogmaals =='Y' || nogmaals =='y') {
System.out.print("Geef een natuurlijk getal: ");
lucasInput = sc.nextInt();
lucasReeks(lucasInput);
System.out.println("Nogmaals? [y/n]: ");
nogmaals = input.next().charAt(0);
}
else if (nogmaals == 'N' || nogmaals == 'n') {
System.out.println("U wou niet nogmaals.");
}
else {
System.out.println("Alleen y/n invoeren!");
}
Zolang ik natuurlijke getallen invoer gaat alles naar wens, zodra ik bijv. 5.4 invul krijg ik inderdaad de melding dat ik alleen natuurlijke getallen mag invoeren.. vervolgens krijg ik gelijk de vraag Herhalen? als ik op y druk krijg ik gelijk weer te horen dat ik alleen natuurlijke getallen mag invoeren en staat er weer Herhalen? druk ik op n exit het programma, zoals het hoort, en typ ik iets anders als y of n dan zegt ie dat ik alleen y/n mag invoeren, ook zoals het hoort. Het probleem is dus dat ie de invoer van Herhalen? ook gebruikt als invoer van lucasInput en een y natuurlijk geen natuurlijk getal is waardoor ik die error krijg... Hoe fix ik dit?