본문 바로가기

Back-End/Java

[JAVA] 각 자리의 숫자를 더한 값 구하기

ex) 숫자 23의 각 자리 수를 더한 값 = 5

방법 1. mod를 이용하여 구하기

1
2
3
4
5
//number의 각 자리 숫자를 result에 더함 
while(number!=0){
    result += number%10;
    number /= 10;
}
cs
- 예시: number = 23
1. (줄 2) number != 0 의 값은 true 이므로 반복문 안으로 들어감
2. (줄 3) 23%10의 값은 3이므로 3을 result에 더함
3. (줄 4) number를 10으로 나눈 값을 다시 number에 저장 (number에 2를 저장)
4. (줄 2) number != 0 의 값은 true 이므로 반복문 안으로 들어감
5. (줄 3) 2%10의 값은 2이므로 2를 result에 더함
6. (줄 4) 2를 10으로 나누면 0이기 때문에 0을 number에 저장
7. (줄 2) number != 0 값은 false 이므로 반복문 탈출
8. result의 값은 2+3 = 5

방법 2. substring를 이용하여 구하기

1
2
3
4
String numStr = String.valueOf(number);
for (int i=0; i<numStr.length(); i++) {
    result += Integer.parseInt(numStr.substring(i, i+1));
}
cs

- (줄 1) int형 변수 number를 String으로 형변환하여 numStr 변수에 저장

- (줄 2) numStr의 글자길이만큼 반복

- (줄 3) String형 변수 numStr을 substring하여 한 글자씩 숫자로 형변환하여 result에 더함