我想用(hasNextLine()
)编写一个while循环来运行代码,我希望当我输入连续的两个换行符(键盘的“Enter”键)时它会中断
我可以在没有像string.equals(quit)等任何中断条件的情况下中断循环;
Scanner sc = new Scanner(System.in);
int[] input_Num = new int [3000] ;
int i = 0 ;
while ( sc.hasNextLine() ){
input_Num[i] = sc.nextInt();
System.out.println(input_Num[i]);
System.out.println(sc.hasNextLine());
}
但是,System.out.println(sc.hasNextLine());
将始终返回true
来打破循环。
答案 0 :(得分:0)
它会一直变为真,直到文件结束,而它循环时不会被打破。
但你所要做的就是测试空行。
答案 1 :(得分:-1)
这可以按照你想要的方式做点什么。
基本上,如果你想读取线条,你需要读取线条。您无法使用hasNextLine
,然后使用nextInt
,它们无法一起使用。
Scanner scn = new Scanner(System.in);
String line;
int empty = 0;
int input;
while(true)
{
line=scn.nextLine().trim();
if(line.equals(""))
{
++empty;
if(empty==2) break;
}
else
{
empty=0;
input = Integer.parseInt(line);
// ... do stuff with input
}
}