簡體   English   中英

計算整數位數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM