Cześć, co dokładnie robi metoda nextLine();? Mam taki kod:
import java.util.InputMismatchException;
import java.util.Scanner;
public class Dzielenie
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
boolean isNotCorrect = true;
do
{
try
{
System.out.println("Wprowadź licznik");
int l = in.nextInt();
System.out.println("Wprowadź mianownik");
int m = in.nextInt();
System.out.println(l + " / " + m + " = " + l / m);
isNotCorrect = false;
}
catch (InputMismatchException ime)
{
// ime.printStackTrace();
System.err.println("Złe dane wejściowe");
in.nextLine();
System.out.println("Wprowadź dane ponownie");
}
catch (ArithmeticException ae)
{
// ae.printStackTrace();
System.err.println("Dzielenie przez zero");
System.out.println("Wprowadź dane ponownie");
}
}
while (isNotCorrect);
in.close();
}
}
i nie rozumiem tej części:
catch (InputMismatchException ime)
{
// ime.printStackTrace();
System.err.println("Złe dane wejściowe");
in.nextLine();
System.out.println("Wprowadź dane ponownie");
}
dlaczego in.nextLine(); przerwało w tym wypadku błędne wykonywanie się programu a in.nextInt(); nie?