gpt4 book ai didi

java - 使用此代码 : 查找整数数字的总和

转载 作者:行者123 更新时间:2023-11-30 09:25:18 24 4
gpt4 key购买 nike

我对粗体部分感到困惑,它到底是什么意思,没有看到解决方案的人怎么能弄明白呢?代码确实有效,但我不明白粗体部分:

public int sumOfDigits(int n)
{
int sum = 0;
n = Math.abs(n); //removes the minus sign from a negative integer
while (n > 0)
***{
sum += n % 10; //???????????????????????????????????????xplo
n /= 10;
}***
return sum;
}

public void inputAndProcess()
{
int n = 0;
Input in = new Input();
while (true)
{
System.out.print("Type an integer: ");
if (in.hasNextInt())
{
n = in.nextInt();
break;
}
in.nextLine();
System.out.println("You did not type an integer, try again.");
}
System.out.print("The sum of the digits of " + n);
System.out.println(" is: " + sumOfDigits(n));
}

public static void main(String[] args)
{
new Example1_1().inputAndProcess();
}

我无法将选定的位以粗体显示,但它是* 中涵盖的代码的一部分,以及关于如何更好地处理这些陈旧代码的任何提示?

最佳答案

while (n > 0)
***{
sum += n % 10; //???????????????????????????????????????xplo
n /= 10;
}***

这里的和是n除以10后的余数的当前累加和(%运算符是模数,是2个整数相除后的余数)。

如果你有整数 123:

n 的第一次迭代后:sum 的值为 3(因为 123/10 的余数为 3)。n 变成 12 因为 123 除以 10,并且 int 值加载回 n 用于下一次迭代

n 的第二次迭代后:sum 的值为 2+3(因为 12/10 的余数为 2)。n 变成 1 因为 12 除以 10,并且 int 值加载回 n 用于下一次迭代

n 的第三次迭代后:sum 的值为 1+2+3(因为 1/10 的余数为 1)。n 变为 0 因为 1 除以 10,并且 int 值加载回 n 用于下一次迭代

关于java - 使用此代码 : 查找整数数字的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15375576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com