我很难弄清楚这一点。我需要创建一个显示索引号 0-101 的应用程序,并存储每个单独的索引号数字的总和。例如:
等等。索引 17 将存储 25,因为 17 + 1 + 7 = 25。我已经得到了索引号列表。
public class ArrayPractice {
public static void main(String[] args)
{
int sum = 0;
int[] arrayNumber = new int[102];
for(int i = 0; i < arrayNumber.length; i++){
arrayNumber[i] = i;
int add = i % 10;
sum += add;
i /= 10;
System.out.println(i);
}
}
}
我也明白要得到数字的总和,你必须对 10 取模,然后除以 10,17 % 10 = 7, 17 / 10 = 1 7 + 1 = 8 + 17(index) = 25。
我只是一直未能让它在循环中工作。任何帮助将不胜感激。
您的代码的问题在于它只是总结了数字的最后一位数字,它不适用于数字大于 的数字2
,您必须遍历所有数字并继续将它们添加到数字中。
for(int i = 0; i < arrayNumber.length; i++) {
arrayNumber[i] = i;
int tmp = arrayNumber[i];
// summing up digits
while(tmp > 0) {
arrayNumber[i] += tmp%10; //extracting right-most digit
tmp /= 10; // removing the right-most digit
}
System.out.println(i , arrayNumber[i]);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句