> "); int num1 = sc.nextInt(); System.out.print("두 번째 숫자 입력 >> "); int num2 = sc.nextInt(); // 곱셈 계산 및 결과 출력 int result = multiply(num1, num2); printMultiplicationSteps(num1, num2); sc.close(); } // 곱셈 수행 메소드 public static int multiply(int num1, int num2) { return num1 * num2; } // 곱셈 과정 출력 메소드 public static void printMultiplicationSteps(int num1, int num2) { String n1 = String.valueOf(num1); String n2 = String.valueOf(num2); int result = num1 * num2; // 각 자릿수별 계산 결과 for(int i = n2.length() - 1; i >= 0; i--) { int digit = Character.getNumericValue(n2.charAt(i)); int stepResult = num1 * digit; "> > "); int num1 = sc.nextInt(); System.out.print("두 번째 숫자 입력 >> "); int num2 = sc.nextInt(); // 곱셈 계산 및 결과 출력 int result = multiply(num1, num2); printMultiplicationSteps(num1, num2); sc.close(); } // 곱셈 수행 메소드 public static int multiply(int num1, int num2) { return num1 * num2; } // 곱셈 과정 출력 메소드 public static void printMultiplicationSteps(int num1, int num2) { String n1 = String.valueOf(num1); String n2 = String.valueOf(num2); int result = num1 * num2; // 각 자릿수별 계산 결과 for(int i = n2.length() - 1; i >= 0; i--) { int digit = Character.getNumericValue(n2.charAt(i)); int stepResult = num1 * digit; "> > "); int num1 = sc.nextInt(); System.out.print("두 번째 숫자 입력 >> "); int num2 = sc.nextInt(); // 곱셈 계산 및 결과 출력 int result = multiply(num1, num2); printMultiplicationSteps(num1, num2); sc.close(); } // 곱셈 수행 메소드 public static int multiply(int num1, int num2) { return num1 * num2; } // 곱셈 과정 출력 메소드 public static void printMultiplicationSteps(int num1, int num2) { String n1 = String.valueOf(num1); String n2 = String.valueOf(num2); int result = num1 * num2; // 각 자릿수별 계산 결과 for(int i = n2.length() - 1; i >= 0; i--) { int digit = Character.getNumericValue(n2.charAt(i)); int stepResult = num1 * digit; ">
import java.util.Scanner;

public class MultiplicationCalculator {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        System.out.print("첫 번째 숫자 입력 >> ");
        int num1 = sc.nextInt();
        System.out.print("두 번째 숫자 입력 >> ");
        int num2 = sc.nextInt();
        
        // 곱셈 계산 및 결과 출력
        int result = multiply(num1, num2);
        printMultiplicationSteps(num1, num2);
        
        sc.close();
    }
    
    // 곱셈 수행 메소드
    public static int multiply(int num1, int num2) {
        return num1 * num2;
    }
    
    // 곱셈 과정 출력 메소드
    public static void printMultiplicationSteps(int num1, int num2) {
        String n1 = String.valueOf(num1);
        String n2 = String.valueOf(num2);
        int result = num1 * num2;
        
        // 각 자릿수별 계산 결과
        for(int i = n2.length() - 1; i >= 0; i--) {
            int digit = Character.getNumericValue(n2.charAt(i));
            int stepResult = num1 * digit;
            for(int j = 0; j < n2.length() - 1 - i; j++) {
                stepResult *= 10;
            }
            System.out.println(stepResult);
        }
        
        // 최종 결과
        System.out.println(result);
    }
}