在线编译器与本机编译器
Posted
技术标签:
【中文标题】在线编译器与本机编译器【英文标题】:Online compiler vs native compiler 【发布时间】:2014-02-25 10:47:39 【问题描述】:import java.util.Scanner;
public class Count
public static void main(String []args)
Scanner s=new Scanner(System.in);
int i=s.nextInt();
int j=i+1;
System.out.println(j);
这是java中的基本代码,当我在自己的PC上运行它时,它运行良好,我在Online compiler上编译和执行的代码相同,它给出了一些错误为什么??
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:907)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextInt(Scanner.java:2160)
at java.util.Scanner.nextInt(Scanner.java:2119)
at Count.main(Count.java:28)
【问题讨论】:
【参考方案1】:有一个field 用于向 STDIN 提供输入参数。
在您的程序中,您可能会要求用户在表单中输入一些值 数字或字符串。因为在网络上我们不能给互动 提供输入的选项,所以我们提供了这个选项来提供所有 一行中的输入将由您的程序使用不同的方式读取 您的编程语言中可用的函数。
【讨论】:
你知道为什么如果你使用 0 作为输入值它会抛出同样的异常,同时使用 00 它工作吗?只是好奇 @eltabo 嗯,不,我不知道:/ 这可能是一个错误。您可以使用ideone.com 并以同样的方式提供参数,它在这里工作。 我认为这是一个错误。在我看来,这只是一种奇怪的行为。【参考方案2】:因为您没有为 System.in 提供任何输入。如果您在该在线编译器的“STDIN 输入”框中键入一些内容,例如 2,您的程序将按预期工作。
【讨论】:
以上是关于在线编译器与本机编译器的主要内容,如果未能解决你的问题,请参考以下文章