NoSuchElementException:找不到行

时间:2019-02-03 13:09:08

标签: java java.util.scanner

我正在做一个简单的项目,我来自website,它给提高我的Java编码技能带来了挑战。

import java.util.Scanner;

public class Test1 {        
  public void test() {
    Scanner in = new Scanner(System.in);
    System.out.println("enter something :");
    String str = in.nextLine();
    StringBuilder sb = new StringBuilder(str);
    if (str.isEmpty()) {
        System.out.println("you should write something");
    }
    if(str.length()<=30){
        System.out.println("reverse : "+sb.reverse());
    }else {
        System.out.println("Error");
    }
    System.out.println("----------------------");   
  }

  public static void main(String[] args) {  
    Test1 c = new Test1 ();
    for (int i = 1; i <= 10 ; i++) {
        System.out.println("case number : " +i);
        c.test();
    }
  }
}
  

案例编号:1
  输入内容:ayoub
  反向:布亚
  ----------------------
  ...循环继续..

我的代码可以像我想要的那样在eclipse的终端中工作,但是当我将其放入网站的“代码编辑器”中时,这最后一个给了我一个运行时错误,提示:

  

线程“主”中的异常java.util.NoSuchElementException:找不到行   在java.util.Scanner.nextLine(Scanner.java:1540)
  在Test1.test(Test1.java:10)
  在Test1.main(Test1.java:31)

我试图在StackOverflow上搜索一些解决方案,但没有找到。

1 个答案:

答案 0 :(得分:0)

您可能正在使用没有标准输入的在线Java代码编辑器/编译器。

arcy所述,您可能正在使用带有内置控制台窗口的IDE,该控制​​台窗口允许您将标准输入传递给程序。

以下online editor将允许您添加输入。 您应该注意使用nextLine的{​​{1}}方法的方式:

您得到的异常是扫描仪未获得任何输入的结果,如here所示。建议您使用ScannerScanner方法在扫描仪上重构循环。