我對Java很新,但正在通過Java的書:如何編程(第9版),並已達到了一個例子,我的生活中我無法弄清楚什麼問題是。NoSuchElementException與Java.Util.Scanner
這裏是在教科書的源代碼示例的(略)增加了的版本:
import java.util.Scanner;
public class Addition {
public static void main(String[] args) {
// creates a scanner to obtain input from a command window
Scanner input = new Scanner(System.in);
int number1; // first number to add
int number2; // second number to add
int sum; // sum of 1 & 2
System.out.print("Enter First Integer: "); // prompt
number1 = input.nextInt(); // reads first number inputted by user
System.out.print("Enter Second Integer: "); // prompt 2
number2 = input.nextInt(); // reads second number from user
sum = number1 + number2; // addition takes place, then stores the total of the two numbers in sum
System.out.printf("Sum is %d\n", sum); // displays the sum on screen
} // end method main
} // end class Addition
我得到了「NoSuchElementException異常」的錯誤:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:838)
at java.util.Scanner.next(Scanner.java:1461)
at java.util.Scanner.nextInt(Scanner.java:2091)
at java.util.Scanner.nextInt(Scanner.java:2050)
at Addition.main(Addition.java:16)
Enter First Integer:
我明白,這可能是由於源代碼中與java.util
的Scanner
類不兼容,但在推斷問題出在什麼方面我實在無法做到。
您使用的是什麼SDK?我只是將你的代碼粘貼到Eclipse中,它似乎工作正常! – Curlystraw
我正在Mac OS X上的TextMate中運行程序,但是當我從終端運行程序時,我沒有遇到任何錯誤。所以我認爲這是一個環境問題,而不是源代碼 – adaam
@adaam你得到這個錯誤的原因是因爲TextMate終端模擬器不能(或沒有正確配置)接受輸入,我得到了同樣的問題Sublime Text 2. –