2023-12-27 (14일차) - 계산기 만들기

·2023년 12월 27일

📅 2023-12-27, 14일차

빼기 구현하기

나의 풀이

나는 공백을 기준으로 숫자와 산술연산자를 모두 쪼개어 배열에 넣고 더하기와 빼기를 풀수 있게 짰다.

 public static int run(String exp) {

    String[] bits = exp.split(" ");

    int a = Integer.parseInt(bits[0]);
    int c = Integer.parseInt(bits[2]);


      if (bits[1].equals("+")) {
        return a + c;
      } else if(bits[1].equals("-")) {
        return a - c;
      } else {
        return 0;
    }
  }

강사님 풀이

강사님은 boolean 변수를 만들어 참/거짓으로 더하기/빼기 산술연산자가 들어있는지 먼저 따져보고 산술연산자를 기준으로 쪼갠 후에 배열에 넣고 풀 수 있게 짜셨다.

public static int run(String exp) {

    boolean needToPlus = exp.contains("+");
    boolean needToMinus = exp.contains("-");

    String[] bits = null;

    if (needToPlus) {
      bits = exp.split(" \\+ ");
    } else if (needToMinus) {
      bits = exp.split(" - ");
    }

    int a = Integer.parseInt(bits[0]);
    int b = Integer.parseInt(bits[1]);

    if (needToPlus) {
      return a + b;
    } else if (needToMinus) {
      return a - b;
    }

    throw new RuntimeException("처리할 수 있는 계산식이 아닙니다");

재귀함수

TDD (Test-Driven-Development)

테스트 주도 개발
반복테스트
작은다위의 테스트 케이스를 작성하고 통과하는 코드를 추가하는 단계를 반복 구현한다

charAt()

  • 한글자만 선택해서 바꿀 수 있는 함수
  • () 안에는 인덱스번호

substring

  • 어디서부터 어디까지 잘라서버리고 남은 것 보여주기

.contains()

문자열에 특정문자가 포함되어있는지 확인 할 수 있다

if (!exp.contains(" ")) return Integer.parseInt(exp);
profile
hello world

0개의 댓글