1. 풀이 1
import java.util.Scanner;

public class CodeUp1620 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int iVal = sc.nextInt();
        while(true){
            int sum = 0;
            while (iVal > 0) {
                sum += iVal % 10;
                iVal /= 10;
            }
            if (sum < 10) {
                System.out.println(sum);
                break;
            }
            iVal = sum;
        }
    }
}
  1. 풀이 2
public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int result = 0;
        do {
            result = 0;
            while (num > 0) {
                result += num % 10;
                num /= 10;
            }
            num = result;
        }while(num / 10 > 0);
        System.out.println(result);
    }

//중첩 반복문 안에서 조건절과 break를 쓰지 않고 do-while문 활용
  1. 풀이 3 (좋지 않은 예시)
public class codeUp1620 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int sum = 0;
        while(true){
            while(num > 0){
                sum += (num % 10);
                num /= 10;
            }
            if(String.valueOf(sum).length() != 1){
                num = sum;
                sum = 0;
            }
            else{
                break;
            }
        }
        System.out.println(sum);

    }
}