본문 바로가기
프로그래밍 기초/Java Festival

[Java Festival] Bonus 01. 숫자 입력 및 뺄셈 프로그램

by 제이투더문 2024. 6. 22.

 

 안녕하세요, 작가 J입니다. 이번에는 Java로 간단한 산술 연산과 반복문을 활용한 프로그램을 만들어 보겠습니다. 이번 예제는 사용자로부터 두 개의 숫자를 입력받아 뺄셈을 수행하고, 특정 조건에서 프로그램을 종료하는 문제입니다.

 

[Java Festival Bonus 01] 숫자 입력 및 뺄셈 프로그램

다음과 같은 프로그램을 작성하시오.

  • A,B 숫자를 입력 받는다.
  • A-B를 출력한다.
  • A와 B가 모두 0을 입력 받으면 프로그램이 종료된다.

 

 

문제는 잘 정리되어 있으므로, 따로 설명이나 해석 없이 바로 코드 풀이로 들어가겠습니다.

 

코드 풀이

먼저 이 문제를 해결하기 위한 자바 코드를 보겠습니다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        System.out.print("A 입력: ");
        int num1 = sc.nextInt();
        System.out.print("B 입력: ");
        int num2 = sc.nextInt();
        
        while (num1 != 0 || num2 != 0) { // A와 B가 모두 0이 아닐 때 반복
            int result = num1 - num2;
            System.out.println("결과: " + result);

            System.out.print("A 입력: ");
            num1 = sc.nextInt();
            System.out.print("B 입력: ");
            num2 = sc.nextInt();
        }

        System.out.println("프로그램을 종료합니다.");
    }
}

 

 위 코드는 while 문의 조건을 활용한 풀이입니다. 조건이 A와 B가 모두 0이 아닐 때 while 문이 계속 반복됩니다. 다만, 이 풀이는 조건을 해석하기가 까다로울 수 있으며, int num1, num2의 값을 초기화할 수 없습니다. 둘 다 초기화로 0이 되면 처음부터 프로그램이 종료되기 때문입니다.

 

다른 풀이를 한 번 보겠습니다.

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int num1 = 0, num2 = 0; // A,B 변수
		
		while (true) {
			System.out.print("A 입력 >> ");
			num1 = sc.nextInt();
			System.out.print("B 입력 >> ");
			num2 = sc.nextInt();
			
			if(num1 == 0 && num2 == 0) break; // A와 B가 0이면 탈출
			
			System.out.println("결과 >> " + (num1 - num2)); // 아니면 A - B 출력
		}
	}
}

  

 위 코드는 더 간단하게 작성된 코드입니다. while 문을 일단 반복시키고, 그 안에서 num1과 num2가 0일 때 반복문을 빠져나오는 형태입니다.

 

마무리

 이번 예제에서는 while 문을 사용하여 사용자로부터 입력을 받고, 특정 조건에서 프로그램을 종료하는 방법을 익혔습니다. 이를 통해 반복문의 다양한 형태를 이해하고, 입력과 조건문을 활용하는 방법을 배울 수 있습니다.

 

 프로그래밍을 통해 다양한 문제를 해결하는 능력을 키우는 것은 매우 중요합니다. 특히 반복문과 조건문을 잘 활용하면 복잡한 문제도 쉽게 풀 수 있습니다. 앞으로도 다양한 예제를 통해 여러분의 프로그래밍 실력을 한 단계 더 끌어올리도록 하겠습니다.

 

 제 기억으로 Java Festival의 Bonus 문제는 맞추지 않아도 넘어갈 수 있는 문제입니다. 처음에 문제를 확인했을 때 본인 능력으로 풀 수 있을 것 같으면 진행하시는 게 좋습니다. 문제를 보고 자신이 풀 수 있는지 판단하는 것도 좋은 자세입니다.

그리고 풀지 못하더라도 공부를 포기하지 않으셨으면 좋겠습니다. 다들 화이팅입니다!