Java/실습

[Java] 각 자릿수의 숫자를 더한 값 구하기

Puft 2024. 11. 26. 11:56

이번 시간에는 제가 구현하지 못했던

 

각 자릿수의 숫자를 더한 값을 구하는

 

함수를 만들어보려고합니다.

 

삼항연산자의 조건을 잘 생각해봐야하는데요.

 

먼저 일의자리 숫자라면 그대로 리턴하면 될 것입니다.

 

일의 자리 숫자를 불러오려면

 

값에 10을 나눈 나머지를 구하고

 

함수에 a에 10을 나눈 값을 대입해서

 

다음 숫자까지 구하도록

 

호출하면 될 것입니다.

 

 

 

public static int sumNumber(int a) {

 

return (a < 10) ? a : (a % 10 + sumNumber(a / 10));

}

 

코드인데요.

 

예를 들어 숫자가 123이라면

 

123을 10으로 나눈 나머지로 일의자리 숫자가 나오고

 

파라미터를 10으로 나눠서

 

구한 일의 자리를 제외하고 남은

 

12를 다시 10으로 나눈 나머지를 구한 후

 

계속해서 더하면

 

각 자리의 숫자를 구할 수 있습니다.

 

 

 

 

저는 종료 조건을

 

a / 10 < 1로 설정해서

 

무한루프에 걸리게 되었습니다.

 

그리고 나머지를 이용할 생각을 못하고

 

나누기를 사용해서 몫을 구해서

 

구하려고 해서 구현하지 못한 것 같습니다.

 

배운 것을 응용할 수 있게

 

유연한 사고를 가져야 겠다는 생각이 드네요.