我试图通过这样做来对卡号中的所有其他数字求和:
/*
Return the sum of the odd-place digits.
*/
public static int sumOfoddPlace(long number)
{
int maxDigitLength = 16;
int sum = 0;
for (int i = 1; i <= maxDigitLength; i++)
{
if (i % 2 == 1)
{
sum = sum + (int)(number % 10);
}
break;
}
return sum;
}
我得到的只是 6。我要查找的总和应该是 37。
最佳答案
您仅在第一次迭代时打破循环。因此,您不会再进行另一次迭代。
但是,删除 break
也无法解决您的问题。 number % 10
将始终为您提供号码的最后一位数字,而不是每个备用号码。您应该遵循以下方法:
num % 10
- 将为您提供最后一位数字。- 然后通过删除最后 2 位数字来更新
num
。 - 重复
关于java - 奇数位数字之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19640762/