![](/img/trans.png)
[英]How would I go about fixing a NullPointerException of the following code?
[英]Java InputMismatchException error. How would I go about fixing this?
僅當我輸入10個或更多3和7的數字時才會顯示。 它來自下面的此方法,我沒有使用此方法對其進行了測試。 這是代碼
Scanner input = new Scanner(System.in);
System.out.print("Enter a positive integer...");
int num = input.nextInt();
// Outputs
System.out.println("Number of digits in number is " + numberDigits(num));
System.out.println("Number begins with " + firstNum(num));
System.out.println("Number ends with " + lastNum(num));
System.out.println("Does number begin with 7? " + beginWith(num, 7));
System.out.println("Does number begin with 3? " + beginWith(num, 3));
System.out.println("Does number contain a 7? " + contains(num, 7));
System.out.println("Does number contain a 3? " + contains(num, 3));
System.out.println("Is the number divisible by 13? " + divTest(num, 13));
System.out.println("Is the number divisible by 77? " + divTest(num, 77));
System.out.println("How many times does 7 appear in the number? " + digitAppearances(num, 7));
System.out.println("How many times does 3 appear in the number? " + digitAppearances(num, 3));
public static int digitAppearances(int num, int x) {
// Check if num is 0
if (num <= 0 ) {
return 0;
}
// Count number of times x appears
else if (num % 10 == x) {
return 1 + digitAppearances(num / 10, x);
}
else {
return digitAppearances(num / 10, x);
}
}
Scanner
正在嘗試使用nextInt
方法讀取一個int
。
調用
nextInt()
形式的此方法的行為與調用nextInt(radix)
行為完全相同,其中radix
是此掃描器的默認基數。
拋出:
InputMismatchException
如果下一個標記與Integer正則表達式不匹配或超出范圍
如果輸入的值大於Integer.MAX_VALUE
(約21億,10位數字),則將收到InputMismatchException
。
如果要輸入最多19位數字,請使用nextLong
。
如果要輸入任意位數,只需調用next
,獲取字符串,並驗證它僅包含數字即可。 您需要先將字符數字轉換為數字類型,然后再進行進一步處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.