我正在尝试创建一个模块来计算每个数字在给定数字中出现的次数。我遇到的问题是,不是将 1 添加到相应数字的数组值,而是添加 10,或者它连接数组的默认值(在本例中为 0),尽管这似乎不太可能。
我的模块:
public class UtilNumber{
public static int [] Occurence(int nb){
int temp;
int [] t = new int [10];
while (nb !=0){
temp = nb % 10;
for (int i = 0; i < t.length ; i++){
t[temp]++;
}
nb /= 10;
}
return t;
}
}
我的主要:
import java.util.scanner;
public class Primary{
public static void main(String [] args){
Scanner keyboard = new Scanner(System.in);
int [] tab;
int nb = keyboard.nextInt();
tab = UtilNumber.Occurence(nb);
for (int i = 0 ; i < tab.length ; i++){
if (tab[i] != 0){
System.out.println(i+" is present "+tab[i]+" time(s).");
}
}
}
}
例如,当我输入 888 时,它应该返回 3,但它却返回 30。