我正在設(shè)置一個簡單的月份程序。我像在其他任務(wù)中一樣設(shè)置了掃描儀,但這次掃描儀沒有工作。我收到多個我不明白的錯誤。我已經(jīng)復(fù)制并粘貼了其他作業(yè),但我沒有收到他們的錯誤,而且它非常簡單,所以我看不出我可能會搞砸什么。import java.util.Scanner;public class H3_ken { public static void main(String[] args) { Scanner input = new Scanner(System.in); int month; int year; System.out.println("Enter what month you would like to look up: "); month = input.nextInt(); System.out.println("Enter what year: "); year = input.nextInt(); System.out.println("You have chosen to look up the month of " + month + " in the year of " + year + "."); }}這是進入月份的輸出。Enter what month you would like to look up: JanuaryException in thread "main" java.util.InputMismatchException at java.base/java.util.Scanner.throwFor(Scanner.java:939) at java.base/java.util.Scanner.next(Scanner.java:1594) at java.base/java.util.Scanner.nextInt(Scanner.java:2258) at java.base/java.util.Scanner.nextInt(Scanner.java:2212) at H3_ken.main(H3_ken.java:12)
3 回答

元芳怎么了
TA貢獻1798條經(jīng)驗 獲得超7個贊
如果要將字符串輸入為月份,請使用Scanner.nextLine();
. 因為java有數(shù)據(jù)類型,你需要調(diào)整你的代碼來適應(yīng)它。例如,您不能在 中輸入數(shù)字String
。
Java 的 Scanner 類也是如此。我知道您剛剛問過為什么您的 String 輸入不起作用,但這里是所有 Scanner 輸入函數(shù),因此您下次不會感到困惑:
nextBoolean()
從用戶讀取一個布爾值(假或真)
nextByte()
從用戶讀取一個字節(jié)值(-127 到 127 之間的數(shù)字)
nextDouble()
從用戶讀取雙精度值(精確的十進制數(shù))
nextFloat()
從用戶讀取一個浮點值(雙精度較低的版本)
nextInt()
從用戶讀取一個 int 值(介于 -2147483647 和 2147483647 之間的數(shù)字)
nextLine()
從用戶那里讀取一個字符串值
nextLong()
從用戶那里讀取一個長值(介于 -9.223372e+18 和 9.223372e+18 之間的數(shù)字)
nextShort()
從用戶處讀取一個短值(介于 -32767 和 32767 之間的數(shù)字)
添加回答
舉報
0/150
提交
取消