2014-02-25 42 views
1
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的基本代碼,當我跑我自己的電腦上它工作得很好,同樣的代碼我編譯和執行Online compiler,它提供了一些錯誤,爲什麼?在線編譯器VS本地編譯器

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提供輸入參數。

在您的程序中,您可能會要求用戶輸入數字或字符串形式的 的一些值。因爲在網絡上我們不能提供交互式 選項來提供輸入,所以我們提供了這個選項來提供一行中的所有 輸入,您的程序將使用您編程語言中提供的不同 函數來讀取這些輸入。

enter image description here

+0

你知道爲什麼,如果你使用0作爲輸入值,它拋出同樣的異常,同時使用00它的工作原理?只是好奇心 – eltabo

+0

@eltabo嗯,不,我不知道:/這可能是一個錯誤。你可以使用http://ideone.com/並以相同的方式提供參數,它在這裏工作。 –

+0

我認爲這是一個錯誤。這在我看來似乎有點奇怪的行爲。 – eltabo

1

因爲您沒有爲System.in提供任何輸入。如果在該在線編譯器的「STDIN輸入」框中輸入了某個內容,請說2,該程序按預期工作。