我编写了这个简单的循环,用于从标准输入中收集整数。如何修改此循环,以便在用户输入空行时停止?现在,循环继续进行,忽略空行,只有当我插入一个字母时才会停止(例如(。
我希望它既能作为提示,也能作为标准的输入重定向。
提前谢谢。
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((,它根本不会读取空行。它读取输入直到空格。