Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA扫描程序NoTouchElementException:未找到行_Java_Java.util.scanner_System.in - Fatal编程技术网

JAVA扫描程序NoTouchElementException:未找到行

JAVA扫描程序NoTouchElementException:未找到行,java,java.util.scanner,system.in,Java,Java.util.scanner,System.in,很抱歉问宝宝的问题,但我是个初学者。 请您支持与扫描仪相关的问题 [背景]: 我写了一些代码来研究扫描仪: 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

很抱歉问宝宝的问题,但我是个初学者。 请您支持与扫描仪相关的问题

[背景]: 我写了一些代码来研究扫描仪:

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);
               
    }
  
}
我有一个例外:找不到行。 这就是我在输出中得到的结果:

任务:运行失败今天是几天?线程“main”中出现异常 java.util.NoSuchElementException:在中找不到行 java.base/java.util.Scanner.nextLine(Scanner.java:1651)位于 Main.Main(Main.java:10)

失败:生成失败,出现异常

我使用的是ApacheNetBeansIDE12.1。 看起来System.in存在一些问题,但我不知道如何修复它。
请支持。

您只需确保使用的是
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);

是的。没有成功。要使用JOptionPane,您需要更多的代码来生成它,因此为了简单起见,我只使用
System.out.println(outputText)
。我认为问题与您的IDE或配置有关,因为代码对我来说运行时没有任何错误。这两种方法都是打印文本的有效方法,唯一的区别是,
println
将打印文本并开始新的一行,而
print
仅打印文本。这不会影响输入,但并行结构对于提高代码和输出的效率很重要,这一点是正确的readable@CodingNinja. 不完全是。扫描仪的光标受System.out影响。没有println,就没有干净的输入。因此,您必须按“回车”两次以使扫描仪前进(即“今天安装的内容”行从未打印)。当我运行输入时,输入工作正常,没有出现任何错误。新产品线的必要性是否因IDE而异?顺便说一句,我正在使用eclipse。看来你解决了OP的问题。投赞成票:)