[英]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.