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的问题。投赞成票:)