我希望我的程序从数字输入中获取所有偶数位。然后将数字与2相乘。如果结果是两位数,则添加它们。最后,我想让它给我所有偶数位的总和。 public class evenplaceadd {
public static void main(String[] args) {
System.out.println(sumOfevenPlace(5566));
}
public static int sumOfevenPlace(int number)
{
int maxDigitLength = 4;
int sum = 0;
for (int i = 0; i < maxDigitLength; i++)
{
if (i % 2 == 0)
{
int digita = number % 10;
int digitb =digita*2;
int digitc;
if(digita < 9)
{
sum = sum + digitb;
}
else if(digitb>9)
{
digitc =(digitb % 10)+ (digitb /10);
sum =sum + digitc;
}
}
else
{
number = number/10;
}
}
return sum;
}
}
答案 0 :(得分:0)
您的代码在大多数情况下似乎都可以。代码中存在一些小缺陷,我相信在理解下面提供的代码后您将能够弄清楚。我把它改了一点,让它更容易阅读。请确认它有效,下次请在提问时提供代码。我知道你是社区的新手,我也是。这是我们所有人的学习经历。将来一切顺利:)
public static void int sumOfEvenDigits(int num){
int sum = 0;
int lastDig = 0;
while(num/10 != 0)
{
lastDig = num % 10;
num = num / 10;
if(lastDig % 2 != 0)
{
continue;
}
if(lastDig > 10)
{
sum += lastDig / 10;
sum += lastDig % 10;
}
else
{
sum += lastDig;
}
}
return sum;
}