java.util.Scanner 处的 java.util.NoSuchElementException

标签 java 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):

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();
}

关于java.util.Scanner 处的 java.util.NoSuchElementException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29717624/

相关文章:

java - Java 文件扫描器的 NoSuchElementException

java - 扫描仪输入的子字符串

java - 是否可以让我的自定义验证注释在持久化时被忽略?

java - 在 Eclipse (Java) 中使一个具有依赖项的项目独立

java - 如何销毁对象本身

java - 扫描仪分隔符与参数一起传递?

java - 使用扫描仪查找三个数字

java - 推土机试图将一个类映射到它的接口(interface)

java - Spring websocket - 如何获取 session 数

java - 在 Java 中,为什么 nextInt() 不从此文本文件中检索每个数字?