My Melody Is Cute 계산기 만들기
본문 바로가기

실습👁️‍🗨️/연습

계산기 만들기

4칙연산이라 조금 간단한 편이였는데 

중복된 코드 줄이기랑 여러번 입력이 가능한건 구현 못했다ㅠ

 

내 코드가 간단하고 허접한데 실행이 되는게 신기하다

그리고 아직도 잘 모르겠다!!!!!!

 

머리속에는 어떤 기능을 표현해야한다고 생각하는데 표현방법을 모르니 힘들다ㅠ

영어를 몰라서 대화를 못하는 사람마냥 모니터랑 눈싸움 하는 사람^^..

 

chatgpt가 없으면 많이 힘들었을거 같아,,, 세상 좋아졌다

아직 배열 연습문제를 못풀었는데

내일 마저 풀고 예습해야한다 화이팅..

 

아 유튜브 언어순화하는 프로그램도 만들어보고싶은데 주말에 할수있을거같다,,,

 

package com.codestates;

import java.util.Scanner;

public class CalculatorApplication {
    public static void main(String[] args) {
        System.out.println("===Java Calculator===");

        Scanner input = new Scanner(System.in);
        /*
            요구 사항에 따라 간단한 계산기를 만들어주세요.
           1. 사용자의 입력을 다음과 같이 받을 수 있습니다.
                - 첫 번째 입력에서는 숫자를 입력 받습니다.
                - 두 번째 입력에서는 연산자를 입력 받습니다.
                - 세 번째 입력에서는 숫자를 받아야 합니다.
           2. 연산자의 종류는 +, -, *, / 네 가지입니다.
           3. 연산자의 종류에 따라 조건을 분기합니다.
           4. 소수점 연산을 수행할 수 있어야 합니다.
           5. 연산 결과를 콘솔에 출력합니다.
                - 세 번째 입력 데이터인 숫자를 입력한 후, 엔터를 치면 연산 결과를 콘솔에 출력해야 합니다.
        */
        // TODO...
        float num1, num2, result = 0.0f; //소수점 연산을 위해 실수로 초기화
        String operator;

        System.out.println("첫 번째 숫자를 입력해 주세요.");
        if(input.hasNextFloat()) {
            num1 = input.nextFloat(); //실수 입력
        } else{
            System.out.println("올바른 숫자를 입력해 주세요.");
            return;

        }

        System.out.println("연산자를 입력해 주세요. (+,-,*,/ 중 하나)");
        operator = input.next(); //연산자 입력
        if(!(operator.equals("+") || operator.equals("-") || operator.equals("*") || operator.equals("/"))) {
            System.out.println("올바른 연산자를 입력해 주세요.");
            return;

        }

        System.out.println("두 번째 숫자를 입력해 주세요.");
        if(input.hasNextFloat()){
            num2 = input.nextFloat(); //실수 입력
        } else {
            System.out.println("올바른 숫자를 입력해 주세요.");
            return;

        }

        if ( operator.equals("+")) { //문자열 비교를 위해 .equals()
            result = num1 + num2;
        } else if( operator.equals("-")) {
            result = num1 - num2;
        } else if( operator.equals("*")) {
            result = num1 * num2;
        } else if ( operator.equals("/")) {
            if (num2 != 0) { //0으로 나눌 수 없음
             result = num1 / num2;
            } else {
                System.out.println("0으로 나눌 수 없습니다.");
                return;
            }
        }


        System.out.println("계산 결과는 "+ result +" 입니다.");


    }
}