使用整数的Java扫描程序,用空行停止此循环



我编写了这个简单的循环,用于从标准输入中收集整数。如何修改此循环,以便在用户输入空行时停止?现在,循环继续进行,忽略空行,只有当我插入一个字母时才会停止(例如(。

我希望它既能作为提示,也能作为标准的输入重定向。

提前谢谢。

import java.util.Scanner;
public class example{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
boolean auth = true;
do {
try{
int num = in.nextInt();
in.nextLine();
System.out.println(num);
} catch(Exception e){
System.out.println(e);
in.nextLine();
auth = false;
}
} while(auth);
in.close();
}
}

您可以使用in.nextLine()而不是in.nextInt(),然后使用isEmpty()函数检查它是否为空,并使用Integer.parseInt()将它转换回int

int num = 0;
String input = in.nextLine();
if(input.isEmpty()){
auth = false;
}
else{
num = Integer.parseInt(input);
System.out.println(num);
}

使用next((而不是nextLine((。nextLine((读取输入,包括单词之间的空格。一个空格将被读取为空字符串。如果您使用next((,它根本不会读取空行。它读取输入直到空格。

相关内容

  • 没有找到相关文章

最新更新