객체지향

계산기 만들기 프로그램

태태코 2023. 2. 22. 19:54
반응형

오늘은 간단하게 제어문을 사용해서 계산기를 만들어 보았다.

while문을 사용해서 사용자의 입력에 따라 종료할 수 있는 코드를 작성했고, 형식에 맞는 입력값이 들어왔을 때 구분자로 나눠서 계산하는 코드를 작성했다.

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

    //입력 예시 ====> 11 + 12
    while(true){
      System.out.println("연산 식을 입력해 주세요 ex)11 + 12");
      //문자열 형식으로 입력받기
      String oper = input.nextLine();

      //띄어쓰기로 연산자와 피 연산자 분리
      String [] opers = oper.split(" ");


      //입력 식이 예시와 맞지 않을 경우 다시 입력
      if(opers.length!=3){
        System.out.println("예시에 맞춰 다시 입력해주세요");
        continue;
      }
      //연산자 할당
        double oper1 = Double.parseDouble(opers[0]);
        char operater = opers[1].charAt(0);
        double oper2 = Double.parseDouble(opers[2]);

      //operater 조건 문
      if(operater=='+') System.out.println(oper1+oper2);
      else if(operater=='-') System.out.println(oper1-oper2);
      else if (operater=='*') System.out.println(oper1*oper2);
      else if(operater=='/'){
        //0으로 나누게 되었을 경우 더사 압력을 바란다는 문구
        if(Double.isInfinite(oper1/oper2) || Double.isNaN(oper1/oper2)){
          System.out.println("0으로 나눌 수 없습니다.");
          continue;
        }
      }
      else {
        System.out.println("잘못된 기호를 입력하셨습니다. 다시 입력해주세요!!");
        continue;
      }
      //사용자에게 재 시동 여부를 물어본다.
      System.out.println("다시 실행하시겠습니까? 다시 실행 하고 싶으시면 YES 아니면 NO를 입력해주세요");
      String answer = input.nextLine();
      if(answer.equals("NO"))break;
      else if(answer.equals("YES"))continue;
      else {
        System.out.println("이상한 값을 입력하셨습니다. 프로그램을 종료합니다.");
        break;
      }
    }
    // TODO...
  }
}

 

https://github.com/Taehwan2/be-sprint-calculator

---> git repository

반응형

'객체지향' 카테고리의 다른 글

태태코딩 - 객체지향 원칙  (0) 2024.12.25
객체지향 기본 공부  (0) 2023.03.16
구구단 프로그램(java)  (0) 2023.02.22