- 각 자동차에 이름을 부여할 수 있다. 자동차 이름은 5자를 초과할 수 없다.
- 전진하는 자동차를 출력할 때 자동차 이름을 같이 출력한다.
- 자동차 이름은 쉼표(,)를 기준으로 구분한다.
- 자동차 경주 게임을 완료한 후 누가 우승했는지를 알려준다. 우승자는 한 명 이상일 수 있다.
- 모든 로직에 단위 테스트를 구현한다. 단, UI(System.out, System.in) 로직은 제외
- UI 로직을 InputView, ResultView와 같은 클래스를 추가해 분리한다.
- indent(인덴트, 들여쓰기) depth를 2를 넘지 않도록 구현한다. 1까지만 허용한다.
- 함수(또는 메소드)의 길이가 15라인을 넘어가지 않도록 구현한다.
- 함수(또는 메소드)가 한 가지 일만 잘 하도록 구현한다.
- 자동차는 추가로 이름을 갖는다.
- 자동차 생성시 이름을 입력 받는다.
- 자동차의 이름은 쉼표를 통해 구분한다.
- 자동차의 이름은 1자 이상 5자 이하이다.
- 자동차가 이동하면 이름을 같이 출력한다.
- 모든 라운드가 종료된 후 우승자를 선출한다.
- 우승자는 포지션이 가장 큰 자동차이다.
- 우승자는 1명 이상이다.
- 초간단 자동차 경주 게임을 구현
- n번의 횟수 동안 m대의 자동차는 전진 또는 정지
- n과 m은 입력받는다.
- 무작위 값이 0에서 9 사이에서 4 이상일 경우 전진, 아닌 경우 정지
- 자동차의 상태를 화면에 출력
- 모든 로직에 단위 테스트를 구현한다. 단, UI(System.out, System.in) 로직은 제외
- 핵심 로직을 구현하는 코드와 UI를 담당하는 로직을 구분한다.
- UI 로직을 InputView, ResultView와 같은 클래스를 추가해 분리한다.
- 자동차의 기본 위치는 0이다.
- 자동차는 조건에 따라 전진 또는 정지한다.
- 자동차는 여러 대가 존재한다.
- 자동차는 각각 전진 또는 정지한다.
- 무작위 값은 0에서 9 사이의 값을 갖는다.
- 위치는 한 번에 한 칸씩만 이동한다.
- 전진 규칙은 값이 4 이상일 경우 전진, 아닌 경우 정지이다.
- 문자열 입력을 받아 사칙 연산 수행하는 계산기 구현
- 우선순위는 입력 순서 (사칙연산 우선순위를 따르지 않는다)
- 2 + 3 * 4 / 2 = 10
- 메서드가 너무 많은 일을 하지 않도록 분리하기 위해 노력해 본다.
- 사칙연산 기능을 구현한다.
- 공백 문자로 입력을 구분한다.
- 입력 문자 수는 3 이상의 홀수이다. 숫자로 끝나야 하며, 식이 완성되어야 한다.
- 홀수번째 입력은 숫자이다.
- 숫자가 아닌 경우 Exception이 발생한다.
- 짝수번째 입력은 사칙연산 기호이다.
- +, -, *, /
- 사칙연산 기호가 아닌 경우 Exception이 발생한다.
- 홀수번째 입력은 숫자이다.