我在執行我的程序時遇到錯誤。線程主java.util.no中的JAVA異常這樣的元素
我執行我的程序並在輸入文件中輸入數據。
輸入文件的內容
LIMIT
2
ADD 30 60
MUL -60 60
我如下得到一個異常錯誤。
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 Test.doLimit(Test.java:41)
at Test.checkResult(Test.java:24)
at Test.main(Test.java:15)
我用Google搜索了一下,我相信String input = sc.next(); for循環內部應該會導致錯誤。 我可以知道如何解決此錯誤嗎?
我的代碼如下所示。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
checkResult(input);
}
public static void checkResult(String input)
{
if(input.equals("LIMIT"))
{
//do stuff
doLimit();
}
else if(input.equals("SENT"))
{
//do stuff
}
else
{
//do stuff
}
}
public static void doLimit()
{
Scanner sc = new Scanner(System.in);
int numOfInput = sc.nextInt();
int x,y;
for(int i = 0; i < numOfInput; i++)
{
String input = sc.next();
x = sc.nextInt();
y = sc.nextInt();
if(input.equals("ADD"))
{
//add
}
else if(input.equals("SUB"))
{
//sub
}
else
{
//multiple
}
}
}
向我們展示您的測試輸入。 – MrSmith42
第41行的代碼是什麼? –
您執行了哪些診斷步驟?你有沒有在調試器中完成這一步?你得到了什麼樣的numOfInput值?它是否設法讀取前兩個值? –