【问题标题】:NoSuchElementException : No line foundNoSuchElementException:找不到行
【发布时间】:2019-02-03 13:09:08
【问题描述】:

我正在做一个简单的项目,我从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
反向:buoya
----------------------
...循环继续..

我的代码在 Eclipse 的终端中像我想要的那样工作,但是当我把它放到网站的“代码编辑器”中时,最后一个给我一个运行时错误,上面写着:

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

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

【问题讨论】:

  • 只是猜测,因为您没有足够的信息:eclipse 可能已将 System.in 与控制台窗口连接起来,以便您可以在那里输入内容。我不知道“网站的“代码编辑器”的作用是什么,但它可能期望来自您无法输入的某个位置的输入。对于未来,请尝试明确您正在使用的具体内容 - 例如您提到的这个“代码编辑器”的名称 - 由于您在堆栈跟踪中有一个行号,请识别您发布的匹配的代码行那条线。
  • 正如@arcy 提到的,我认为这与“代码编辑器”有关。我在网上试过this compiler,似乎也遇到了同样的问题。然而,在 Netbeans 中测试相同的代码。

标签: java java.util.scanner


【解决方案1】:

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

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

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

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

【讨论】:

  • @ayoubelmohamedi 很高兴帮助好友。
  • 一直在使用 IntelliJ IDEA 的终端。项目设置有几个包含主要方法的包,只是为了看看如何使用多线程(由于懒惰)。使用 Gradle 任务将包中的主要方法作为任务运行。扫描仪从不等待用户输入。但是,如果在 Main-Class 中执行相同操作,则作为 jar 构建和运行就可以了。可悲的是我花了半天时间来解决这个问题。仍然不知道为什么会这样。
猜你喜欢
  • 1970-01-01
  • 2023-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多