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