hasNextLine()与\ n断开

时间:2015-10-24 07:03:38

标签: java

我想用(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来打破循环。

2 个答案:

答案 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
  }
}