Đây là chương trìnhInput.nextInt() hoạt động chính xác như thế nào?
public class bInputMismathcExceptionDemo {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
boolean continueInput = true;
do {
try {
System.out.println("Enter an integer:");
int num = input.nextInt();
System.out.println("the number is " + num);
continueInput = false;
}
catch (InputMismatchException ex) {
System.out.println("Try again. (Incorrect input: an integer is required)");
}
input.nextLine();
}
while (continueInput);
}
}
Tôi biết nextInt()
chỉ đọc các số nguyên không phải là "\n"
, nhưng tại sao chúng ta nên cần input.nextLine()
để đọc "\n"
? nó có cần thiết không ?? bởi vì tôi nghĩ rằng ngay cả khi không có input.nextLine()
, sau khi nó quay trở lại try {}
, số input.nextInt()
vẫn có thể đọc số nguyên tiếp theo tôi nhập, nhưng trên thực tế nó là một vòng lặp vô hạn.
Tôi vẫn không biết logic đằng sau nó, hy vọng ai đó có thể giúp tôi.
đọc http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html –