我的控制台应用程序有一个小问题。应用程序应从用户那里获取编号并将其添加到列表中,但是如果输入为“ c”,则应将其关闭。我无法弄清楚如何在不使用Scanner.nextLine()
挂起应用程序并退出循环的情况下验证“ c”变量。
public void getNumbersFromUser() {
Scanner scanner = new Scanner(System.in);
int number;
boolean flag = true;
do{
System.out.println("Enter a number");
while(!scanner.hasNextInt()) {
System.out.println("Thats not a number !");
scanner.next();
}
number = scanner.nextInt();
list.add(number);
System.out.println(list);
}
while(flag);
我的控制台应用程序有一个小问题。应用程序应从用户那里获取编号并将其添加到列表中,但是如果输入为“ c”,则应将其关闭。我想不通如何验证“ c” ...
一种方法是使用Scanner.next()
,它将阻止等待输入,并亲自使用Integer.parseInt()
检查输入:
最好使用next()
获取输入,并且不添加第三方库,请创建一个辅助方法来检查输入是否为数字: