【发布时间】:2019-03-05 15:17:05
【问题描述】:
我的控制台应用程序有点问题。应用程序应该从用户那里获取数字并将它们添加到列表中,但如果输入是“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);
【问题讨论】:
-
您已经使用了
scanner.next(),那么为什么不检查它不是“c”呢?如果你不喜欢“那不是数字!”打印“c”输入,那么你不能先检查数字。读取为 String,然后在适当的时候转换为 int。
标签: java loops console-application do-while