Sitter med följande kod som vägrar fungera för mig:
boolean b = true;
do
{
try
{
System.out.println("Fråga: ");
variabel = keyboard.nextInt();
keyboard.nextLine();
}
catch (InputMismatchException e)
{
System.out.println("Felaktig inmatning. Försök igen!\n");
b = false;
}
}
while (!b);
enArrayList.add(new Sak(variabel));
InputMisMatch är importerat från java.util och "variabel" är en statisk int deklarerad utanför mainmetoden men i huvudklassen.
Denna kod skriver ut en oändlig loop som ser ut som följande men oändlig:
Fråga:
Felaktig inmatning. Försök igen!
Fråga:
Felaktig inmatning. Försök igen!
Fråga:
Felaktig inmatning. Försök igen!
Varför blir det fel? Vill ju att det som ska hända är att man måste svara med heltal i sifferformat och om man svarar med nåt annat så spottar den ur sig "Felaktig inmatning. Försök igen!" och man får försöka igen. Vad gör jag fel?