如何从java中的数字中获取数字

时间:2016-01-20 01:21:54

标签: java

我希望我的程序从数字输入中获取所有偶数位。然后将数字与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;

}

}

1 个答案:

答案 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;
}