将数字添加到数字

时间:2018-05-28 16:21:01

标签: java arrays methods int

对于我的程序,我想要编写1-100的数组代码。在那个数组中,我想存储数字+他们的数字。例如,如果数字是6,则存储的值将是6,因为6 + 6 = 12.如果数字是17,则存储的值应该是25,因为17 + 1 + 7 = 25.我想对每个数字执行此操作。我的代码有一个方法和2 for循环,但目前输出的所有内容为0;这是我的代码。

scale3d(100%, 56, 1)

2 个答案:

答案 0 :(得分:0)

您应该将模运算的结果添加到sum。你应该返回sum

while ( num != 0){
    sum += num % 10;
    num /= 10;
 }
return sum;

答案 1 :(得分:0)

您不需要这么多循环,您可以通过缓存先前的输出并重新使用(Dynamic programming tabulation)来改进它。考虑到您的代码可以为您提供的值不超过100

public static int sumDigits(int num) {
    int[] cache = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1 };
    int sum = num + cache[num % 10] + cache[num / 10];
    return sum;
}
基本上,我已经缓存了前10个输入的输出。

仅供参考,您可以通过将以前的输出存储在HashMap中来扩展较大输入的程序