簡體   English   中英

java.util.Scanner上的java.util.NoSuchElementException

[英]java.util.NoSuchElementException at java.util.Scanner

我正在HackerEarth解決問題,無法弄清為什么我的程序在命令行上正確運行並給出正確的結果,但是在其代碼編輯器上運行時卻給出了java.util.NoSuchElementException異常。

我搜索了但無法解決。

import java.util.Scanner;

public class TestClass {
    public static int[][] arr = null;
    public static int[][] dp = null;

    public static void main(String[] args) {
        int N, M, T;
        int min;
        int count = 0;
        Scanner scan = new Scanner(System.in);

        N = scan.nextInt();
        M = scan.nextInt();

        arr = new int[N][M];
        dp = new int[N + 1][M + 1];

        for (int i = 0; i < N; ++i) {
            for (int j = 0; j < M; ++j) {
                arr[i][j] = scan.nextInt();   //line 26
            }
        }

        for (int i = 0; i < M + 1; ++i)
            dp[0][i] = 0;

        for (int i = 0; i < N + 1; ++i)
            dp[i][0] = 0;

        for (int i = 1; i < N + 1; ++i) {
            for (int j = 1; j < M + 1; ++j) {
                if (arr[i - 1][j - 1] == 0) {
                    min = Math.min(dp[i - 1][j], Math.min(dp[i]
                        [j - 1], dp[i - 1][j - 1]));
                    dp[i][j] = min + 1;
                } else
                    dp[i][j] = 0;
            }
        }

        count = 0;
        for (int i = 1; i < N + 1; ++i) {
            for (int j = 1; j < M + 1; ++j) {
                if (dp[i][j] != 0)
                    count += dp[i][j];
            }
        }
        System.out.println("" + count);
    }//main
}//class

例外:

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 TestClass.main(editor_trsource_1429355115_85417.java:26)

這意味着您沒有來自標准輸入的數據,並且試圖從同一輸入中獲取nextInt 您可能應該使用hasNextInt檢查是否有數據提供給消費者:

if (scanner.hasNextInt()) {
   //read nextInt();
}

如果您要在編程競賽中通過在線編譯器提交解決方案,請嘗試刷新瀏覽器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM