>source

이것은 짝수 숫자의 합을 찾는 문제에 대한 해결책입니다. 본관

public class Main {
    public static void main(String[] args) {
        int mySum=EvenDigitSum.getEvenDigitSum(879);
        System.out.println(mySum);
    }
}

위의 주요 방법.

Even DigitSum
public class EvenDigitSum {
    public static int getEvenDigitSum(int number){
       int sum=0;
        if (number<0){
            return -1;
        }else {
            while (number>0){
                int lastDigit=(number%10);
                System.out.println("last digit"+lastDigit);
                if (lastDigit%2==0){
                    sum=(sum+lastDigit);
                    System.out.println("my sum"+sum);
                }
                number/=10;
            }
            return sum;
        }
    }
}

여기에 while 루프와 if 문에 두 개의 print 문이 있습니다. while 루프의 하나는 올바른 출력을 제공하지만 if 문에서 하나는 출력을 제공하지 않습니다. 주요 방법에서 내 번호는 879이므로 8 if 문은 작동하지만 작동하지 않습니다. 짝수 숫자의 최종 합계는 0이됩니다.

% 대신/실수를 사용했습니다.

  • 답변 # 1

    이 줄에서 :

    if (lastDigit / 2 == 0)
    
    

    마지막 숫자의 절반이 0인지 확인합니다. 물론 숫자가 0 또는 1 인 경우에만 발생합니다. 대신 % 2 나머지를 얻으려면 :

    if (lastDigit % 2 == 0)
    
    

관련 자료

  • 이전 특정 시나리오에서 문자열 슬라이싱 Python
  • 다음 java - 모든 True 속성을 추출하고 목록에 추가