코딩테스트/백준

백준 5613번 : 계산기 프로그램 [Java]

블로그 주인장 2023. 8. 30.

🎁 문제 링크

https://www.acmicpc.net/problem/5613

 

5613번: 계산기 프로그램

입력의 각 줄에는 숫자와 +, -, *, /, =중 하나가 교대로 주어진다. 첫 번째 줄은 수이다. 연산자의 우선 순위는 생각하지 않으며, 입력 순서대로 계산을 하고, =가 주어지면, 그때까지의 결과를 출

www.acmicpc.net

🎁 문제 설명

덧셈, 뺄셈, 곱셈, 나눗셈을 할 수 있는 계산기 프로그램을 만드시오.

🎁 입출력 예시

🎁 코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int num = Integer.parseInt(br.readLine());

        while(true){
            StringTokenizer st = new StringTokenizer(br.readLine());

            String next = st.nextToken();
            if("+".equals(next)){
                num += Integer.parseInt(br.readLine());
            } else if("-".equals(next)){
                num -= Integer.parseInt(br.readLine());
            } else if("*".equals(next)){
                num *= Integer.parseInt(br.readLine());
            } else if("/".equals(next)){
                num /= Integer.parseInt(br.readLine());
            } else if("=".equals(next)){
                break;
            }

        }
        System.out.println(num);
    }
}

🎁 코드 설명

1) BufferedReader를 통해 입력 값을 받는다

2) 첫 번째 수를 받아서 해당 수를 이용하여 수식을 진행한다.

3) StringTokenizer로 다음 줄을 받아서 해당 토큰이 사칙연산(+, -, *, /) 이면 해당 수식을 계산한다.

4) 만약 "=" 이면 반복문을 빠져나가서 결과를 도출한다.

반응형

댓글