From 16c66bba2d2e7ae99f4e527a74a414b8122b16b1 Mon Sep 17 00:00:00 2001 From: cussle Date: Mon, 6 May 2024 10:47:37 +0900 Subject: [PATCH 1/9] docs(README): update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit README.md 파일을 수정했습니다. 다음의 항목이 추가되었습니다. - 개요 - 기술 스택 - 기능 목록 - 개발 규칙 및 스타일 가이드 --- README.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8d7e8aee..010132ec 100644 --- a/README.md +++ b/README.md @@ -1 +1,20 @@ -# java-baseball-precourse \ No newline at end of file +# 카테캠 미니과제 1 - 숫자 야구 +## 개요 +- 카카오 테크 캠퍼스 1차 미니과제 +- 1부터 9까지 서로 다른 수로 이루어진 3자리 숫자를 맞히는 게임 +- 사용자는 컴퓨터가 무작위로 선택한 숫자를 맞히기 위해 입력을 반복, 입력 결과에 따른 힌트 부여 + +## 기술 스택 +- 언어: Java 17 +- 테스트 라이브러리: JUnit 5, AssertJ + +## 기능 목록 +- [ ] **숫자 생성** - 게임 시작 시 1부터 9까지 서로 다른 수 3개를 무작위로 생성 +- [ ] **사용자 입력** - 사용자는 3자리 숫자를 입력 +- [ ] **입력 검증** - 입력받은 숫자가 3자리이며,각 숫자가 1부터 9까지이고, 중복되지 않는지 확인 +- [ ] **결과 출력** - 입력받은 숫자와 컴퓨터가 생성한 숫자를 비교하여 힌트/결과 반환 +- [ ] **게임 반복** - 사용자는 게임을 새로 시작할지 또는 종료할지 선택 + +## 개발 규칙 및 스타일 가이드 +- **코드 스타일**: Google Java Style Guide을 기반으로 하되, 들여쓰기는 4 spaces를 사용 +- **커밋 메시지**: AngularJS Git Commit Message Conventions을 기 \ No newline at end of file From 2be1446a8e15f893fb0545a99ea671e8f35c2de9 Mon Sep 17 00:00:00 2001 From: cussle Date: Mon, 6 May 2024 10:53:07 +0900 Subject: [PATCH 2/9] feat(NumberGenerator): Generate three unique random numbers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1부터 9까지의 숫자 중에서 서로 다른 3개의 숫자를 무작위로 생성합니다. 구현 접근: - java.util.Random을 사용하여 1부터 9까지의 숫자를 랜덤으로 생성 - HashSet을 이용하여 중복을 피하면서 숫자를 저장 - 세 개의 숫자가 저장될 때까지 숫자를 생성하고 저장 --- README.md | 2 +- src/main/java/NumberGenerator.java | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 src/main/java/NumberGenerator.java diff --git a/README.md b/README.md index 010132ec..e53525b2 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ - 테스트 라이브러리: JUnit 5, AssertJ ## 기능 목록 -- [ ] **숫자 생성** - 게임 시작 시 1부터 9까지 서로 다른 수 3개를 무작위로 생성 +- [x] **숫자 생성** - 게임 시작 시 1부터 9까지 서로 다른 수 3개를 무작위로 생성 - [ ] **사용자 입력** - 사용자는 3자리 숫자를 입력 - [ ] **입력 검증** - 입력받은 숫자가 3자리이며,각 숫자가 1부터 9까지이고, 중복되지 않는지 확인 - [ ] **결과 출력** - 입력받은 숫자와 컴퓨터가 생성한 숫자를 비교하여 힌트/결과 반환 diff --git a/src/main/java/NumberGenerator.java b/src/main/java/NumberGenerator.java new file mode 100644 index 00000000..82743531 --- /dev/null +++ b/src/main/java/NumberGenerator.java @@ -0,0 +1,15 @@ +import java.util.HashSet; +import java.util.Random; +import java.util.Set; + +public class NumberGenerator { + public Set generateRandomNumbers() { + Set numbers = new HashSet<>(); + Random random = new Random(); + while (numbers.size() < 3) { + int number = 1 + random.nextInt(9); // 1 to 9 + numbers.add(number); + } + return numbers; + } +} From c3ba0ae4810da0f4d2ef127274e7a4cd0fb66150 Mon Sep 17 00:00:00 2001 From: cussle Date: Mon, 6 May 2024 11:00:32 +0900 Subject: [PATCH 3/9] feat(InputHandler): Implement user input for guessing numbers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 사용자에게 3자리 숫자를 입력받습니다. 구현 접근: - BufferedReader를 사용하여 사용자로부터 입력을 받습니다. - 입력받은 값을 문자열로 저장하여 처리합니다. --- README.md | 2 +- src/main/java/InputHandler.java | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 src/main/java/InputHandler.java diff --git a/README.md b/README.md index e53525b2..d2bdab05 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ ## 기능 목록 - [x] **숫자 생성** - 게임 시작 시 1부터 9까지 서로 다른 수 3개를 무작위로 생성 -- [ ] **사용자 입력** - 사용자는 3자리 숫자를 입력 +- [x] **사용자 입력** - 사용자는 3자리 숫자를 입력 - [ ] **입력 검증** - 입력받은 숫자가 3자리이며,각 숫자가 1부터 9까지이고, 중복되지 않는지 확인 - [ ] **결과 출력** - 입력받은 숫자와 컴퓨터가 생성한 숫자를 비교하여 힌트/결과 반환 - [ ] **게임 반복** - 사용자는 게임을 새로 시작할지 또는 종료할지 선택 diff --git a/src/main/java/InputHandler.java b/src/main/java/InputHandler.java new file mode 100644 index 00000000..aee3a506 --- /dev/null +++ b/src/main/java/InputHandler.java @@ -0,0 +1,12 @@ +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class InputHandler { + private BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + public String getUserInput() throws IOException { + System.out.print("숫자를 입력해 주세요: "); + return br.readLine(); + } +} From 102614000bcd7a48104cd07119366b8b8e348753 Mon Sep 17 00:00:00 2001 From: cussle Date: Mon, 6 May 2024 11:18:04 +0900 Subject: [PATCH 4/9] feat(InputValidator): Validate user input for correctness and uniqueness MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 입력받은 숫자가 3자리이며, 각 숫자가 1부터 9까지이고, 중복되지 않는지 확인합니다. 구현 접근: - 입력 문자열의 길이가 3인지 확인 - 문자열의 각 문자를 숫자로 변환하고, 1부터 9 사이의 값인지 확인 - HashSet을 사용하여 숫자의 중복을 검사 --- README.md | 2 +- src/main/java/InputValidator.java | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 src/main/java/InputValidator.java diff --git a/README.md b/README.md index d2bdab05..722b08ff 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ ## 기능 목록 - [x] **숫자 생성** - 게임 시작 시 1부터 9까지 서로 다른 수 3개를 무작위로 생성 - [x] **사용자 입력** - 사용자는 3자리 숫자를 입력 -- [ ] **입력 검증** - 입력받은 숫자가 3자리이며,각 숫자가 1부터 9까지이고, 중복되지 않는지 확인 +- [x] **입력 검증** - 입력받은 숫자가 3자리이며, 각 숫자가 1부터 9까지이고, 중복되지 않는지 확인 - [ ] **결과 출력** - 입력받은 숫자와 컴퓨터가 생성한 숫자를 비교하여 힌트/결과 반환 - [ ] **게임 반복** - 사용자는 게임을 새로 시작할지 또는 종료할지 선택 diff --git a/src/main/java/InputValidator.java b/src/main/java/InputValidator.java new file mode 100644 index 00000000..317f93f4 --- /dev/null +++ b/src/main/java/InputValidator.java @@ -0,0 +1,22 @@ +import java.util.HashSet; +import java.util.Set; + +public class InputValidator { + public void validateInput(String input) { + if (input == null || input.length() != 3) { + throw new IllegalArgumentException("입력은 정확히 3자리 숫자여야 합니다."); + } + + Set seenDigits = new HashSet<>(); + + for (char ch : input.toCharArray()) { + if (!Character.isDigit(ch) || ch == '0') { + throw new IllegalArgumentException("입력은 1부터 9까지의 숫자여야 합니다."); + } + + if (!seenDigits.add(ch)) { + throw new IllegalArgumentException("모든 숫자는 서로 달라야 합니다."); + } + } + } +} From a182b7f1f5f4d419973537e51dfa106607a17fa6 Mon Sep 17 00:00:00 2001 From: cussle Date: Mon, 6 May 2024 11:29:11 +0900 Subject: [PATCH 5/9] feat(ResultCalculator): Calculate and return the result of the guess MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 사용자의 입력과 컴퓨터가 생성한 숫자를 비교하여 스트라이크와 볼의 결과를 계산하고 반환합니다. 구현 접근: - 입력된 숫자와 생성된 숫자를 비교하여 위치와 값이 동일한 경우 스트라이크를 증가 - 위치는 다르지만 값이 존재하는 경우 볼을 증가 - 결과를 반환 --- README.md | 2 +- src/main/java/ResultCalculator.java | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 src/main/java/ResultCalculator.java diff --git a/README.md b/README.md index 722b08ff..838f17c9 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ - [x] **숫자 생성** - 게임 시작 시 1부터 9까지 서로 다른 수 3개를 무작위로 생성 - [x] **사용자 입력** - 사용자는 3자리 숫자를 입력 - [x] **입력 검증** - 입력받은 숫자가 3자리이며, 각 숫자가 1부터 9까지이고, 중복되지 않는지 확인 -- [ ] **결과 출력** - 입력받은 숫자와 컴퓨터가 생성한 숫자를 비교하여 힌트/결과 반환 +- [x] **결과 반환** - 입력받은 숫자와 컴퓨터가 생성한 숫자를 비교하여 힌트/결과 반환 - [ ] **게임 반복** - 사용자는 게임을 새로 시작할지 또는 종료할지 선택 ## 개발 규칙 및 스타일 가이드 diff --git a/src/main/java/ResultCalculator.java b/src/main/java/ResultCalculator.java new file mode 100644 index 00000000..852a8b88 --- /dev/null +++ b/src/main/java/ResultCalculator.java @@ -0,0 +1,29 @@ +import java.util.Set; + +public class ResultCalculator { + public String calculateResult(Set computerNumbers, String userInput) { + int strikes = 0; + int balls = 0; + int[] userNumbers = userInput.chars().map(c -> c - '0').toArray(); + + Integer[] compNumbersArray = computerNumbers.toArray(new Integer[0]); + for (int i = 0; i < userNumbers.length; i++) { + if (compNumbersArray[i].equals(userNumbers[i])) { + strikes++; + } else if (computerNumbers.contains(userNumbers[i])) { + balls++; + } + } + + if (balls > 0 && strikes > 0) { + return balls + " 볼 " + strikes + " 스트라이크"; + } + if (balls > 0) { + return balls + " 볼"; + } + if (strikes > 0) { + return strikes + " 스트라이크"; + } + return "낫싱"; + } +} From 4c32fe36b09fe7f913bffaacbb5709084bda31dd Mon Sep 17 00:00:00 2001 From: cussle Date: Mon, 6 May 2024 11:44:03 +0900 Subject: [PATCH 6/9] fix: Replace HashSet with LinkedHashSet to maintain insertion order MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 컴퓨터가 생성한 숫자를 관리할 때 HashSet이 아닌 LinkedHashSet을 사용하도록 변경합니다. HashSet은 순서가 보장되지 않기에 라운드가 진행될 때마다 숫자가 바뀔 수 있습니다. 따라서 Set의 기능을 그대로 사용할 수 있지만 순서가 유지되는 LinkedHashSet로 변경합니다. --- src/main/java/NumberGenerator.java | 3 ++- src/main/java/ResultCalculator.java | 16 +++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main/java/NumberGenerator.java b/src/main/java/NumberGenerator.java index 82743531..a8faead0 100644 --- a/src/main/java/NumberGenerator.java +++ b/src/main/java/NumberGenerator.java @@ -1,10 +1,11 @@ import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.Random; import java.util.Set; public class NumberGenerator { public Set generateRandomNumbers() { - Set numbers = new HashSet<>(); + Set numbers = new LinkedHashSet<>(); Random random = new Random(); while (numbers.size() < 3) { int number = 1 + random.nextInt(9); // 1 to 9 diff --git a/src/main/java/ResultCalculator.java b/src/main/java/ResultCalculator.java index 852a8b88..3a756be6 100644 --- a/src/main/java/ResultCalculator.java +++ b/src/main/java/ResultCalculator.java @@ -1,28 +1,30 @@ +import java.util.ArrayList; +import java.util.List; import java.util.Set; public class ResultCalculator { public String calculateResult(Set computerNumbers, String userInput) { int strikes = 0; int balls = 0; + List computerList = new ArrayList<>(computerNumbers); int[] userNumbers = userInput.chars().map(c -> c - '0').toArray(); - Integer[] compNumbersArray = computerNumbers.toArray(new Integer[0]); - for (int i = 0; i < userNumbers.length; i++) { - if (compNumbersArray[i].equals(userNumbers[i])) { + for (int i = 0; i < 3; i++) { + if (userNumbers[i] == computerList.get(i)) { strikes++; - } else if (computerNumbers.contains(userNumbers[i])) { + } else if (computerList.contains(userNumbers[i])) { balls++; } } if (balls > 0 && strikes > 0) { - return balls + " 볼 " + strikes + " 스트라이크"; + return balls + "볼 " + strikes + "스트라이크"; } if (balls > 0) { - return balls + " 볼"; + return balls + "볼"; } if (strikes > 0) { - return strikes + " 스트라이크"; + return strikes + "스트라이크"; } return "낫싱"; } From a3dbf7cceb384a9395cdfc4cd3d308758d3d505a Mon Sep 17 00:00:00 2001 From: cussle Date: Mon, 6 May 2024 11:56:11 +0900 Subject: [PATCH 7/9] feat(GameController): Show result and Allow user to restart the game or exit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 라운드 결과를 표시하며, 사용자가 게임을 새로 시작할지 또는 종료할지 선택할 수 있게 합니다. 구현 접근: - 라운드의 결과(정답 여부, 오류 처리 등)를 표시 - 게임의 결과가 나오면 사용자에게 새 게임 시작 여부를 확인 - 입력에 따라 게임을 재시작하거나 종료 --- README.md | 2 +- src/main/java/GameController.java | 68 +++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 src/main/java/GameController.java diff --git a/README.md b/README.md index 838f17c9..dc11a529 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ - [x] **사용자 입력** - 사용자는 3자리 숫자를 입력 - [x] **입력 검증** - 입력받은 숫자가 3자리이며, 각 숫자가 1부터 9까지이고, 중복되지 않는지 확인 - [x] **결과 반환** - 입력받은 숫자와 컴퓨터가 생성한 숫자를 비교하여 힌트/결과 반환 -- [ ] **게임 반복** - 사용자는 게임을 새로 시작할지 또는 종료할지 선택 +- [x] **게임 반복** - 숫자를 맞혔을 경우, 사용자는 게임을 새로 시작할지 또는 종료할지 선택 ## 개발 규칙 및 스타일 가이드 - **코드 스타일**: Google Java Style Guide을 기반으로 하되, 들여쓰기는 4 spaces를 사용 diff --git a/src/main/java/GameController.java b/src/main/java/GameController.java new file mode 100644 index 00000000..8254e8d2 --- /dev/null +++ b/src/main/java/GameController.java @@ -0,0 +1,68 @@ +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Set; + +public class GameController { + private NumberGenerator numberGenerator = new NumberGenerator(); + private InputHandler inputHandler = new InputHandler(); + private InputValidator inputValidator = new InputValidator(); + private ResultCalculator resultCalculator = new ResultCalculator(); + private BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + public void startGame() { + boolean mainGameContinues = true; + + while (mainGameContinues) { + Set computerNumbers = numberGenerator.generateRandomNumbers(); + boolean roundContinues = true; + + while (roundContinues) { + roundContinues = playRound(computerNumbers); + } + + mainGameContinues = askToContinue(); + } + } + + private boolean playRound(Set computerNumbers) { + try { + String userInput = inputHandler.getUserInput(); + inputValidator.validateInput(userInput); + String result = resultCalculator.calculateResult(computerNumbers, userInput); + System.out.println(result); + + if ("3스트라이크".equals(result)) { + System.out.println("3개의 숫자를 모두 맞히셨습니다! 게임 종료"); + return false; + } + return true; + } catch (IllegalArgumentException | IOException e) { + System.out.println("에러: " + e.getMessage()); + return false; // 에러 발생 시 게임 종료 + } + } + + private boolean askToContinue() { + System.out.print("게임을 새로 시작하려면 1, 종료하려면 2를 입력하세요: "); + try { + String decision = br.readLine(); + if ("1".equals(decision)) { + return true; + } else if ("2".equals(decision)) { + return false; + } else { + System.out.println("잘못된 입력입니다. 게임을 종료합니다."); + return false; + } + } catch (IOException e) { + System.out.println("입력 도중 오류가 발생했습니다: " + e.getMessage()); + return false; + } + } + + public static void main(String[] args) { + GameController game = new GameController(); + game.startGame(); + } +} From 3e3dd138e5f78d38b7b3be56c0e0778becf88d60 Mon Sep 17 00:00:00 2001 From: cussle Date: Mon, 6 May 2024 12:11:44 +0900 Subject: [PATCH 8/9] test: Add comprehensive tests across various components MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 다양한 Unit Test를 세 가지 테스트 클래스에 추가하여 게임 로직을 테스트합니다. 추가된 테스트는 다음과 같습니다: 1. NumberGeneratorTest - 생성된 숫자가 고유하며 정해진 범위 내에 있는지 검토 2. InputValidatorTest - 사용자 입력이 올바른 형식을 따르고 중복되지 않는지 검증 3. ResultCalculatorTest - 다양한 게임 시나리오에서 점수 계산의 정확성을 검토 --- README.md | 2 +- src/test/java/InputValidatorTest.java | 19 +++++++++++++++ src/test/java/NumberGeneratorTest.java | 16 +++++++++++++ src/test/java/ResultCalculatorTest.java | 31 +++++++++++++++++++++++++ 4 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 src/test/java/InputValidatorTest.java create mode 100644 src/test/java/NumberGeneratorTest.java create mode 100644 src/test/java/ResultCalculatorTest.java diff --git a/README.md b/README.md index dc11a529..d49a0756 100644 --- a/README.md +++ b/README.md @@ -17,4 +17,4 @@ ## 개발 규칙 및 스타일 가이드 - **코드 스타일**: Google Java Style Guide을 기반으로 하되, 들여쓰기는 4 spaces를 사용 -- **커밋 메시지**: AngularJS Git Commit Message Conventions을 기 \ No newline at end of file +- **커밋 메시지**: AngularJS Git Commit Message Conventions을 기반으로 함 \ No newline at end of file diff --git a/src/test/java/InputValidatorTest.java b/src/test/java/InputValidatorTest.java new file mode 100644 index 00000000..75a0dfcf --- /dev/null +++ b/src/test/java/InputValidatorTest.java @@ -0,0 +1,19 @@ +import org.junit.jupiter.api.Test; +import static org.assertj.core.api.Assertions.*; + +class InputValidatorTest { + @Test + void validateInput_ValidInput_ShouldNotThrowException() { + InputValidator validator = new InputValidator(); + assertThatCode(() -> validator.validateInput("123")).doesNotThrowAnyException(); + } + + @Test + void validateInput_InvalidInput_ShouldThrowIllegalArgumentException() { + InputValidator validator = new InputValidator(); + assertThatThrownBy(() -> validator.validateInput("112")).isInstanceOf(IllegalArgumentException.class) + .hasMessageContaining("모든 숫자는 서로 달라야 합니다."); + assertThatThrownBy(() -> validator.validateInput("abc")).isInstanceOf(IllegalArgumentException.class) + .hasMessageContaining("1부터 9까지의 숫자여야 합니다."); + } +} diff --git a/src/test/java/NumberGeneratorTest.java b/src/test/java/NumberGeneratorTest.java new file mode 100644 index 00000000..3e992825 --- /dev/null +++ b/src/test/java/NumberGeneratorTest.java @@ -0,0 +1,16 @@ +import org.junit.jupiter.api.Test; +import static org.assertj.core.api.Assertions.*; + +import java.util.Set; + +class NumberGeneratorTest { + @Test + void generateRandomNumbers_ShouldGenerateThreeUniqueNumbersBetweenOneAndNine() { + NumberGenerator generator = new NumberGenerator(); + Set numbers = generator.generateRandomNumbers(); + + assertThat(numbers).hasSize(3); + assertThat(numbers).allMatch(num -> num >= 1 && num <= 9); + assertThat(numbers).doesNotHaveDuplicates(); + } +} diff --git a/src/test/java/ResultCalculatorTest.java b/src/test/java/ResultCalculatorTest.java new file mode 100644 index 00000000..5a9d4897 --- /dev/null +++ b/src/test/java/ResultCalculatorTest.java @@ -0,0 +1,31 @@ +import org.junit.jupiter.api.Test; +import static org.assertj.core.api.Assertions.*; + +import java.util.LinkedHashSet; +import java.util.Set; + +class ResultCalculatorTest { + @Test + void calculateResult_WhenAllMatch_ShouldReturnThreeStrikes() { + ResultCalculator calculator = new ResultCalculator(); + Set computerNumbers = new LinkedHashSet<>(); + computerNumbers.add(1); + computerNumbers.add(2); + computerNumbers.add(3); + String result = calculator.calculateResult(computerNumbers, "123"); + + assertThat(result).isEqualTo("3스트라이크"); + } + + @Test + void calculateResult_NoMatches_ShouldReturnNoting() { + ResultCalculator calculator = new ResultCalculator(); + Set computerNumbers = new LinkedHashSet<>(); + computerNumbers.add(4); + computerNumbers.add(5); + computerNumbers.add(6); + String result = calculator.calculateResult(computerNumbers, "123"); + + assertThat(result).isEqualTo("낫싱"); + } +} From 3b610be403b388b1f41a2c4d53e4a4ed5dd8a3ba Mon Sep 17 00:00:00 2001 From: cussle Date: Mon, 6 May 2024 12:24:44 +0900 Subject: [PATCH 9/9] refactor: Rename GameController to Application MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 프로그래밍 요구사항 - 1의 2번 조건을 충족시키기 위해 파일명을 수정하였습니다. --- src/main/java/{GameController.java => Application.java} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename src/main/java/{GameController.java => Application.java} (96%) diff --git a/src/main/java/GameController.java b/src/main/java/Application.java similarity index 96% rename from src/main/java/GameController.java rename to src/main/java/Application.java index 8254e8d2..ce050f8d 100644 --- a/src/main/java/GameController.java +++ b/src/main/java/Application.java @@ -3,7 +3,7 @@ import java.io.InputStreamReader; import java.util.Set; -public class GameController { +public class Application { private NumberGenerator numberGenerator = new NumberGenerator(); private InputHandler inputHandler = new InputHandler(); private InputValidator inputValidator = new InputValidator(); @@ -62,7 +62,7 @@ private boolean askToContinue() { } public static void main(String[] args) { - GameController game = new GameController(); + Application game = new Application(); game.startGame(); } }