我想弄清楚如何编写我从右到左,而不是从左到右读取的代码
public static int sumofEvenSpot(long number)
{
int sumEvenSpot = 0;
String stringLength = Long.toString(number);
for (int i = 0; i< stringLength.length(); i += 2)
sumEvenSpot += (getDigit(Character.getNumericValue(stringLength.charAt(i)) * 2));
return sumEvenSpot;
}
答案 0 :(得分:0)
只需for(int i = stringLength.length() - 1; i = 0; i = i - 2)
(for(start, end, increment)
)
OR
您可以反转字符串并执行常规操作,但需要更多代码
答案 1 :(得分:0)
您可以从最右边的数字开始求和,并且每次迭代将数字除以100以便移除当前数字和下一个数字(在奇数位置)以便保持对以下偶数的求和:
int sum = 0;
while(number > 0) {
sum += number % 10;
number /= 100;
}
这样做的一个好处是你不必将long转换为字符串然后再转换为int。