[英]Counting number of digits in integer
我的代碼應該提示用戶輸入整數並計算整數中每個數字的出現次數。 但是它什么也沒輸出。 請幫助,這是我的代碼。
import java.util.Scanner;
public class NumberCounts {
public static void main(String [] args) {
Scanner scan = new Scanner(System.in);
int arr [] = new int [10];
int num;
int outcome;
System.out.println(" Enter a number: ");
num = scan.nextInt();
while ( num != 0){
outcome = num % 10;
arr[num % 10]+=1;
num /= num;
}
for ( int i = 0; i <= arr.length; i++){
System.out.println(i + " : " + arr[i]);
}
}
}
在while
循環內,您將num
除以num
,然后將結果分配回num
。 這將使num
永遠等於1
。 更改為
num /= 10;
這將刪除最后一位數字。
此外,你已經計算出的最后一個數字和存儲的結果outcome
。 您最好使用它:
arr[outcome]+=1;
然后,當您進入循環以打印數組時,在這種情況下,請始終使用<
數組長度在處理最后一個索引length - 1
之后停止。 這將防止等待顯示的ArrayIndexOutOfBoundsException
。
for (int i = 0; i < arr.length; i++){
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.