【问题标题】:JAVA Scanner NoSuchElementException: No line foundJAVA 扫描程序 NoSuchElementException:找不到行
【发布时间】:2020-10-19 20:02:04
【问题描述】:

对不起,宝贝问题,但我是初学者。 请您支持有关扫描仪的问题。

[背景]: 我写了一些代码来研究Scanner:

import javax.swing.JOptionPane;
import java.util.Scanner;

  class Main {
    public static void main (String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("What is day today? ");
        String day = scanner.nextLine();
        System.out.print("What is mounth today?");
        String mounth = scanner.nextLine();
        String outputText = "Today" + day + "mounth - " + mounth;
        JOptionPane.showMessageDialog(null, outputText);
               
    }
  
}

我有一个异常:找不到行。 这就是我在输出中得到的:

Task :run FAILED 今天是星期几?线程“主”中的异常 java.util.NoSuchElementException:找不到行 java.base/java.util.Scanner.nextLine(Scanner.java:1651) 在 DemoOne.Main.main(Main.java:10)

FAILURE:构建失败并出现异常。

我使用的是 Apache NetBeans IDE 12.1。 看起来 System.in 有一些问题,但我不明白如何解决它。 请支持。

【问题讨论】:

  • 是的,我做到了。没有成功。
  • 要使用 JOptionPane,您需要更多代码来生成它,所以为了简单起见,我将使用 System.out.println(outputText) 代替。
  • 我认为问题与您的 IDE 或配置有关,因为代码运行对我来说没有任何错误。

标签: java java.util.scanner system.in


【解决方案1】:

您只需要确保您使用的是System.out.println()

当你问是几月时,你只用了System.out.print()

见下文

 Scanner scanner = new Scanner(System.in);
        System.out.println("What is day today? ");
        String day = scanner.nextLine();
        System.out.println("What is mounth today?"); //right here
        String mounth = scanner.nextLine();
        String outputText = "Today" + day + "mounth - " + mounth;
        JOptionPane.showMessageDialog(null, outputText);

【讨论】:

  • 两者都是打印文本的有效方法,唯一的区别是println 将打印文本并开始一个新行,而print 只打印文本。这不会影响输入
  • 但是你说得对,并行结构对于使代码和输出更具可读性很重要
  • @CodingNinja。不完全的。扫描仪的光标受 System.out 影响。没有 println,你就没有干净的输入。因此,您必须按两次“回车”才能使扫描仪前进(即永远不会打印“今天是什么”行)
  • 当我运行它时输入工作正常并且我没有收到任何错误。新行的必要性是否因 IDE 而异?顺便说一句,我正在使用eclipse。
  • 好吧,您似乎发现了 OP 的问题。投赞成票:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-09
相关资源
最近更新 更多