繁体   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