2017-10-10 18 views
1

私は勝者チームのためのアプリケーションを作成するために、コードの下に使用していて、それが例えばInellijコンパイラの仕事だ...オンラインコンパイラでコンパイラが正常にコンパイルされないのはなぜですか?

Scanner scanner = new Scanner(System.in); 
    System.out.println("how many cases"); 
    int cases = scanner.nextInt(); 
    if (cases < 1 || cases > 100){ 
     System.out.println("REenter cases"); 
     cases =scanner.nextInt(); 
     return; 
    } 
    String [] winnerTeams = new String[cases]; 
    for (int i = 0; i < cases; i++) { 
     winnerTeams[i] = getWinnersTeam(scanner); 
    } 

    for (int i = 0; i < cases; i++) { 
     System.out.println(winnerTeams[i] + "\n"); 
    } 

} 

public static String getWinnersTeam(Scanner sc) { 
    int bestScore = 0; 

    String team = "Nothing entered"; 
    System.out.println("how many teams"); 
    int count = sc.nextInt(); 
    if (count < 2 || count > 100){ 
     System.out.println("group should be 2++"); 
     System.exit(0); 
    } 
    sc.nextLine(); 
    while (count-- > 0) { 
     System.out.println("Entered team,score"); 

     String line = sc.nextLine(); 
     String arr [] = line.split(" "); 
     // check size - TBD 
     if (Integer.parseInt(arr[1]) > bestScore) { 
      bestScore = Integer.parseInt(arr[1]); 
      team = arr[0]; 
     } 
    } 

    System.out.println("nest team is " + team + " with a score of " + bestScore); 
    return team; 
} 

をしかし、私は、任意のオンラインコンパイラでこのコードを実行すると、私は例外

Exception in thread "main" java.util.NoSuchElementException 
    at java.util.Scanner.throwFor(Scanner.java:862) 
    at java.util.Scanner.next(Scanner.java:1485) 
    at java.util.Scanner.nextInt(Scanner.java:2117) 
    at java.util.Scanner.nextInt(Scanner.java:2076) 
    at Main.main(Main.java:14) 
を取得

私はスキャナで間違っていますか?

私は何かが不足していますか、事前に感謝します。

+0

投稿しよう!オンラインコンパイラと言ったら、ハイパーリンクで具体的にしよう! –

+0

@Arjun私はそれらすべてを言った。 – CODE1010101010101

答えて

2

これはコンパイラエラーではありません。これはランタイムエラーです。

(おそらく)いくつかのオンライン環境ではコンソールが実装されていないため、標準入力には何も書き込めません。Scannerの要素はありません。

アイデアを得るにはhttps://ideone.com/にアクセスし、Javaを選択してstdinをクリックし、通常はアプリに入力する情報をスペースで区切って書き込みます。たとえば、0と書いただけの場合は、REenter casesが表示されます。1-100

+0

実際、これはコマンドラインをサポートしています。たとえば、この1つはhttps://www.compilejava.net/ – CODE1010101010101

+0

です。サポートしていません - 編集した回答を確認してください。 – Shadov

関連する問題