From cb633f4cf772237ae1854cde3443714b6a1f8c38 Mon Sep 17 00:00:00 2001 From: minjae Date: Mon, 6 May 2024 09:59:30 +0900 Subject: [PATCH 01/12] =?UTF-8?q?feat(RandomNumbersGenerator):=20=EB=9E=9C?= =?UTF-8?q?=EB=8D=A4=ED=95=9C=20=EC=88=AB=EC=9E=90=203=EA=B0=9C=EB=A5=BC?= =?UTF-8?q?=20=EC=83=9D=EC=84=B1=ED=95=9C=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 숫자야구에서 제일 처음 필요한 서로 다른 수로 이루어진 3자리의 수를 shuffle과 sublist를 이용하여 생성한다. --- README.md | 3 ++- src/main/java/RandomNumbersGenerator.java | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 src/main/java/RandomNumbersGenerator.java diff --git a/README.md b/README.md index 8d7e8aee..b74ddec5 100644 --- a/README.md +++ b/README.md @@ -1 +1,2 @@ -# java-baseball-precourse \ No newline at end of file +# java-baseball-precourse +1. random하게 숫자 3개를 생성해내는 기능 추가 (RandomNumbersGenerator) \ No newline at end of file diff --git a/src/main/java/RandomNumbersGenerator.java b/src/main/java/RandomNumbersGenerator.java new file mode 100644 index 00000000..cdb16697 --- /dev/null +++ b/src/main/java/RandomNumbersGenerator.java @@ -0,0 +1,15 @@ +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class RandomNumbersGenerator { + + public static List generateUniqueNumbers() { + List numbers = new ArrayList<>(); + for (int i = 1; i <= 9; i++) { + numbers.add(i); + } + Collections.shuffle(numbers); + return numbers.subList(0, 3); + } +} \ No newline at end of file From 34fbfc0cb8695383a4ca077cb833ad5a54c1715b Mon Sep 17 00:00:00 2001 From: minjae Date: Mon, 6 May 2024 10:28:20 +0900 Subject: [PATCH 02/12] =?UTF-8?q?feat(NumberBaseballGame):=20=EC=9E=85?= =?UTF-8?q?=EB=A0=A5=EC=9D=B4=20=EC=98=AC=EB=B0=94=EB=A5=B8=EC=A7=80?= =?UTF-8?q?=EC=97=90=20=EB=8C=80=ED=95=9C=20parseInt=20method?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 올바른 입력을 받지 않았으면 IllegalArgumentException을 띄운다. 이는 프로그램이 예측가능성을 가지게 하는 가장 중요한 부분이다. --- README.md | 3 ++- src/main/java/NumberBaseballGame.java | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/main/java/NumberBaseballGame.java diff --git a/README.md b/README.md index b74ddec5..26c7df75 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # java-baseball-precourse -1. random하게 숫자 3개를 생성해내는 기능 추가 (RandomNumbersGenerator) \ No newline at end of file +1. random하게 숫자 3개를 생성해내는 기능 추가 (RandomNumbersGenerator) +2. 사용자의 입력이 올바른지 확인 후, 입력을 List 3개로 return 기능 추가 (NumberBaseballGame의 parseInput) \ No newline at end of file diff --git a/src/main/java/NumberBaseballGame.java b/src/main/java/NumberBaseballGame.java new file mode 100644 index 00000000..3f1d32e3 --- /dev/null +++ b/src/main/java/NumberBaseballGame.java @@ -0,0 +1,19 @@ +import java.util.ArrayList; +import java.util.List; + +public class NumberBaseballGame { + + private List parseInput(String input) throws IllegalArgumentException { + String[] tokens = input.split("\\s+"); + if (tokens.length != 3) throw new IllegalArgumentException("Exactly three numbers are required."); + + List userNumbers = new ArrayList<>(); + for (String token : tokens) { + int number = Integer.parseInt(token); + if (number < 1 || number > 9) throw new IllegalArgumentException("Numbers must be between 1 and 9."); + if (userNumbers.contains(number)) throw new IllegalArgumentException("Duplicate numbers are not allowed."); + userNumbers.add(number); + } + return userNumbers; + } +} \ No newline at end of file From ece848c63cc7271d11bec1620962518a3354976d Mon Sep 17 00:00:00 2001 From: minjae Date: Mon, 6 May 2024 10:44:34 +0900 Subject: [PATCH 03/12] =?UTF-8?q?feat(NumberBaseballGame):=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=EC=9E=90=20=EC=9E=85=EB=A0=A5=EC=97=90=20=EB=8C=80?= =?UTF-8?q?=ED=95=9C=20=EA=B2=B0=EA=B3=BC=20=EC=B6=9C=EB=A0=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 사용자 입력과 컴퓨터가 생성한 숫자를 비교하여 스트라이크와 볼의 수를 계산하고, 게임의 결과를 문자열로 반환한다. --- README.md | 3 ++- src/main/java/NumberBaseballGame.java | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 26c7df75..ff36aaca 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ # java-baseball-precourse 1. random하게 숫자 3개를 생성해내는 기능 추가 (RandomNumbersGenerator) -2. 사용자의 입력이 올바른지 확인 후, 입력을 List 3개로 return 기능 추가 (NumberBaseballGame의 parseInput) \ No newline at end of file +2. 사용자의 입력이 올바른지 확인 후, 입력을 List 3개로 return 기능 추가 (NumberBaseballGame의 parseInput) +3. 사용자의 입력과 맞추어야할 숫자를 비교해서 결과를 String으로 출력하는 기능 추가 (NumberBaseballGame의 checkNumbers) \ No newline at end of file diff --git a/src/main/java/NumberBaseballGame.java b/src/main/java/NumberBaseballGame.java index 3f1d32e3..6ef35daa 100644 --- a/src/main/java/NumberBaseballGame.java +++ b/src/main/java/NumberBaseballGame.java @@ -3,6 +3,12 @@ public class NumberBaseballGame { + private final List computerNumbers; + + public NumberBaseballGame(List computerNumbers) { + this.computerNumbers = computerNumbers; + } + private List parseInput(String input) throws IllegalArgumentException { String[] tokens = input.split("\\s+"); if (tokens.length != 3) throw new IllegalArgumentException("Exactly three numbers are required."); @@ -16,4 +22,18 @@ private List parseInput(String input) throws IllegalArgumentException { } return userNumbers; } + + private String checkNumbers(List userNumbers) { + int strikes = 0, balls = 0; + for (int i = 0; i < 3; i++) { + int userNumber = userNumbers.get(i); + if (userNumber == computerNumbers.get(i)) strikes++; + else if (computerNumbers.contains(userNumber)) balls++; + } + + if (strikes == 0 && balls == 0) return "낫싱"; + else if(strikes == 0) return balls + " 볼"; + else if(balls == 0) return strikes + "스트라이크"; + else return balls + " 볼 " + strikes + "스트라이크"; + } } \ No newline at end of file From cca0f9e03e798f2c469686d5dc536f8391536c0e Mon Sep 17 00:00:00 2001 From: minjae Date: Mon, 6 May 2024 10:51:06 +0900 Subject: [PATCH 04/12] =?UTF-8?q?feat(NumberBaseballGame):=20=EA=B2=8C?= =?UTF-8?q?=EC=9E=84=EC=9D=98=20=EC=A3=BC=EC=9A=94=20=ED=9D=90=EB=A6=84=20?= =?UTF-8?q?=EC=A0=9C=EC=96=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 사용자가 게임을 승리하거나 잘못 입력할 때까지 계속해서 게임을 진행한다. --- README.md | 3 ++- src/main/java/NumberBaseballGame.java | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ff36aaca..dc206c6a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # java-baseball-precourse 1. random하게 숫자 3개를 생성해내는 기능 추가 (RandomNumbersGenerator) 2. 사용자의 입력이 올바른지 확인 후, 입력을 List 3개로 return 기능 추가 (NumberBaseballGame의 parseInput) -3. 사용자의 입력과 맞추어야할 숫자를 비교해서 결과를 String으로 출력하는 기능 추가 (NumberBaseballGame의 checkNumbers) \ No newline at end of file +3. 사용자의 입력과 맞추어야할 숫자를 비교해서 결과를 String으로 출력하는 기능 추가 (NumberBaseballGame의 checkNumbers) +4. 사용자가 숫자를 맞출 때까지 계속해서 게임을 진행하는 기능 추가 (NumberBaseballGame의 play) \ No newline at end of file diff --git a/src/main/java/NumberBaseballGame.java b/src/main/java/NumberBaseballGame.java index 6ef35daa..cc106f58 100644 --- a/src/main/java/NumberBaseballGame.java +++ b/src/main/java/NumberBaseballGame.java @@ -1,14 +1,33 @@ import java.util.ArrayList; import java.util.List; +import java.util.Scanner; public class NumberBaseballGame { private final List computerNumbers; + private boolean gameWon = false; public NumberBaseballGame(List computerNumbers) { this.computerNumbers = computerNumbers; } + public void play() { + Scanner scanner = new Scanner(System.in); + while (!gameWon) { + System.out.print("숫자를 입력해 주세요: "); + try { + String input = scanner.nextLine(); + List userNumbers = parseInput(input); + + String result = checkNumbers(userNumbers); + System.out.println(result); + } catch (IllegalArgumentException e) { + System.out.println("Invalid input. Application will terminate."); + break; + } + } + } + private List parseInput(String input) throws IllegalArgumentException { String[] tokens = input.split("\\s+"); if (tokens.length != 3) throw new IllegalArgumentException("Exactly three numbers are required."); @@ -31,6 +50,8 @@ private String checkNumbers(List userNumbers) { else if (computerNumbers.contains(userNumber)) balls++; } + if(strikes == 3) gameWon = true; + if (strikes == 0 && balls == 0) return "낫싱"; else if(strikes == 0) return balls + " 볼"; else if(balls == 0) return strikes + "스트라이크"; From 1a11e473bbcde1d71ca0ae88db61f207c7909c2e Mon Sep 17 00:00:00 2001 From: minjae Date: Mon, 6 May 2024 10:56:02 +0900 Subject: [PATCH 05/12] =?UTF-8?q?refactor(NumberBaseballGame):=20=EA=B2=8C?= =?UTF-8?q?=EC=9E=84=20=EC=8A=B9=EB=A6=AC=20=EB=A9=94=EC=8B=9C=EC=A7=80=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 게임 승리시 메시지를 해당 게임 종료 메시지를 추가했다. --- src/main/java/NumberBaseballGame.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/NumberBaseballGame.java b/src/main/java/NumberBaseballGame.java index cc106f58..a3060891 100644 --- a/src/main/java/NumberBaseballGame.java +++ b/src/main/java/NumberBaseballGame.java @@ -26,6 +26,8 @@ public void play() { break; } } + + if(gameWon) System.out.println("3개의 숫자를 모두 맞히셨습니다! 게임 종료"); } private List parseInput(String input) throws IllegalArgumentException { From ae41f760ef981a108b764bd9aa1f8237f7da0602 Mon Sep 17 00:00:00 2001 From: minjae Date: Mon, 6 May 2024 11:08:03 +0900 Subject: [PATCH 06/12] =?UTF-8?q?refactor(NumberBaseballGame):=20=EA=B2=8C?= =?UTF-8?q?=EC=9E=84=20=EB=8B=A4=EC=8B=9C=20=ED=95=A0=20=EC=A7=80=EC=97=90?= =?UTF-8?q?=20=EB=8C=80=ED=95=9C=20=EB=A9=94=EC=8B=9C=EC=A7=80=20=EB=B0=8F?= =?UTF-8?q?=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 게임 종료 후 다시 할 것인지에 대한 기능을 추가하고, 이는 play함수가 boolean 값으로 return 하도록 수정하여 구현하였다 --- src/main/java/NumberBaseballGame.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/NumberBaseballGame.java b/src/main/java/NumberBaseballGame.java index a3060891..9b6b9a94 100644 --- a/src/main/java/NumberBaseballGame.java +++ b/src/main/java/NumberBaseballGame.java @@ -11,7 +11,7 @@ public NumberBaseballGame(List computerNumbers) { this.computerNumbers = computerNumbers; } - public void play() { + public boolean play() { Scanner scanner = new Scanner(System.in); while (!gameWon) { System.out.print("숫자를 입력해 주세요: "); @@ -28,6 +28,10 @@ public void play() { } if(gameWon) System.out.println("3개의 숫자를 모두 맞히셨습니다! 게임 종료"); + + System.out.println("게임을 새로 시작하려면 1, 종료하려면 2를 입력하세요."); + String option = scanner.nextLine(); + return option.trim().equals("1"); } private List parseInput(String input) throws IllegalArgumentException { From 021be8cbd54d444cf9585f622cbfc7c7a3df2b81 Mon Sep 17 00:00:00 2001 From: minjae Date: Mon, 6 May 2024 11:11:35 +0900 Subject: [PATCH 07/12] =?UTF-8?q?feat(Application):=20=EC=8B=A4=EC=A0=9C?= =?UTF-8?q?=20=EA=B2=8C=EC=9E=84=EC=9D=98=20flow=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 전체 게임의 실행부분을 담당하고 있다. --- README.md | 4 +++- src/main/java/Application.java | 19 +++++++++++++++++++ src/main/java/NumberBaseballGame.java | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 src/main/java/Application.java diff --git a/README.md b/README.md index dc206c6a..d005b2fc 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,6 @@ 1. random하게 숫자 3개를 생성해내는 기능 추가 (RandomNumbersGenerator) 2. 사용자의 입력이 올바른지 확인 후, 입력을 List 3개로 return 기능 추가 (NumberBaseballGame의 parseInput) 3. 사용자의 입력과 맞추어야할 숫자를 비교해서 결과를 String으로 출력하는 기능 추가 (NumberBaseballGame의 checkNumbers) -4. 사용자가 숫자를 맞출 때까지 계속해서 게임을 진행하는 기능 추가 (NumberBaseballGame의 play) \ No newline at end of file +4. 사용자가 숫자를 맞출 때까지 계속해서 게임을 진행하는 기능 추가 (NumberBaseballGame의 play) +5. play 함수에서 게임승리 메시지와 게임을 다시 시작할 지에 대한 기능을 추가, + scanner close +6. 전체 게임 flow를 담당하는 Application class 생성 \ No newline at end of file diff --git a/src/main/java/Application.java b/src/main/java/Application.java new file mode 100644 index 00000000..c5afa529 --- /dev/null +++ b/src/main/java/Application.java @@ -0,0 +1,19 @@ +import java.util.List; + +public class Application { + + public static void main(String[] args) { + System.out.println("Welcome to the Number Baseball Game!"); + + while (true) { + List computerNumbers = RandomNumbersGenerator.generateUniqueNumbers(); + NumberBaseballGame game = new NumberBaseballGame(computerNumbers); + boolean continuePlaying = game.play(); + if (!continuePlaying) { + System.out.println("Thank you for playing!"); + break; + } + } + } +} + diff --git a/src/main/java/NumberBaseballGame.java b/src/main/java/NumberBaseballGame.java index 9b6b9a94..a38e5e3e 100644 --- a/src/main/java/NumberBaseballGame.java +++ b/src/main/java/NumberBaseballGame.java @@ -31,6 +31,7 @@ public boolean play() { System.out.println("게임을 새로 시작하려면 1, 종료하려면 2를 입력하세요."); String option = scanner.nextLine(); + scanner.close(); return option.trim().equals("1"); } From cfff36446fa8c1a792d481bfd9d5967b12b7b68d Mon Sep 17 00:00:00 2001 From: minjae Date: Mon, 6 May 2024 11:38:43 +0900 Subject: [PATCH 08/12] =?UTF-8?q?refactor(build.gradle):=20UTF-8=20?= =?UTF-8?q?=EB=AC=B8=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 한글이 깨지는 이슈로 인하여 어쩔수 없이 수정 --- build.gradle | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build.gradle b/build.gradle index 20a92c9e..e695f5c4 100644 --- a/build.gradle +++ b/build.gradle @@ -23,3 +23,7 @@ dependencies { test { useJUnitPlatform() } + +tasks.withType(JavaCompile) { + options.encoding = 'UTF-8' +} \ No newline at end of file From b0e966fb6dfc2174dd015f50cf2c975bf9a67d5a Mon Sep 17 00:00:00 2001 From: minjae Date: Mon, 6 May 2024 12:04:10 +0900 Subject: [PATCH 09/12] =?UTF-8?q?refactor(NumberBaseballGame):=20=EA=B0=81?= =?UTF-8?q?=EC=A2=85=20=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit scanner가 닫혀서 재입력이 안되는 경우, 출력 조금 수정 --- src/main/java/NumberBaseballGame.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/NumberBaseballGame.java b/src/main/java/NumberBaseballGame.java index a38e5e3e..6dc57038 100644 --- a/src/main/java/NumberBaseballGame.java +++ b/src/main/java/NumberBaseballGame.java @@ -31,7 +31,6 @@ public boolean play() { System.out.println("게임을 새로 시작하려면 1, 종료하려면 2를 입력하세요."); String option = scanner.nextLine(); - scanner.close(); return option.trim().equals("1"); } @@ -60,8 +59,8 @@ private String checkNumbers(List userNumbers) { if(strikes == 3) gameWon = true; if (strikes == 0 && balls == 0) return "낫싱"; - else if(strikes == 0) return balls + " 볼"; + else if(strikes == 0) return balls + "볼"; else if(balls == 0) return strikes + "스트라이크"; - else return balls + " 볼 " + strikes + "스트라이크"; + else return balls + "볼 " + strikes + "스트라이크"; } } \ No newline at end of file From ee6e75502d55c1b35401313ccb21ab2c1e297dbb Mon Sep 17 00:00:00 2001 From: minjae Date: Mon, 6 May 2024 12:04:15 +0900 Subject: [PATCH 10/12] =?UTF-8?q?refactor(NumberBaseballGame):=20=EA=B0=81?= =?UTF-8?q?=EC=A2=85=20=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit scanner가 닫혀서 재입력이 안되는 경우, 출력 조금 수정 --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d005b2fc..5d72c7cf 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,5 @@ 3. 사용자의 입력과 맞추어야할 숫자를 비교해서 결과를 String으로 출력하는 기능 추가 (NumberBaseballGame의 checkNumbers) 4. 사용자가 숫자를 맞출 때까지 계속해서 게임을 진행하는 기능 추가 (NumberBaseballGame의 play) 5. play 함수에서 게임승리 메시지와 게임을 다시 시작할 지에 대한 기능을 추가, + scanner close -6. 전체 게임 flow를 담당하는 Application class 생성 \ No newline at end of file +6. 전체 게임 flow를 담당하는 Application class 생성 +7. 게임을 재시작할 때 scanner가 닫혀서 재입력이 안되는 경우, 출력 조금 수정 \ No newline at end of file From fba8490d894d999a571ff6e7e6e11460f305b84d Mon Sep 17 00:00:00 2001 From: minjae Date: Mon, 6 May 2024 12:07:07 +0900 Subject: [PATCH 11/12] =?UTF-8?q?refactor(NumberBaseballGame):=20=EC=9E=85?= =?UTF-8?q?=EB=A0=A5=20=EB=B0=9B=EB=8A=94=20=EB=B6=80=EB=B6=84=20ParseInpu?= =?UTF-8?q?t=20=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 숫자를 1 2 3 띄어서 받는 것을 123으로 입력되게 수정 --- README.md | 3 ++- src/main/java/NumberBaseballGame.java | 13 ++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 5d72c7cf..c570c2ac 100644 --- a/README.md +++ b/README.md @@ -5,4 +5,5 @@ 4. 사용자가 숫자를 맞출 때까지 계속해서 게임을 진행하는 기능 추가 (NumberBaseballGame의 play) 5. play 함수에서 게임승리 메시지와 게임을 다시 시작할 지에 대한 기능을 추가, + scanner close 6. 전체 게임 flow를 담당하는 Application class 생성 -7. 게임을 재시작할 때 scanner가 닫혀서 재입력이 안되는 경우, 출력 조금 수정 \ No newline at end of file +7. 게임을 재시작할 때 scanner가 닫혀서 재입력이 안되는 경우, 출력 조금 수정 +8. 입력 받는 부분 ParseInput 버그 수정 -> 안띄우고 입력받도록 수정 \ No newline at end of file diff --git a/src/main/java/NumberBaseballGame.java b/src/main/java/NumberBaseballGame.java index 6dc57038..ef7205c0 100644 --- a/src/main/java/NumberBaseballGame.java +++ b/src/main/java/NumberBaseballGame.java @@ -34,15 +34,14 @@ public boolean play() { return option.trim().equals("1"); } - private List parseInput(String input) throws IllegalArgumentException { - String[] tokens = input.split("\\s+"); - if (tokens.length != 3) throw new IllegalArgumentException("Exactly three numbers are required."); + public List parseInput(String input) throws IllegalArgumentException { + if (input.length() != 3) throw new IllegalArgumentException("Exactly three digits are required."); List userNumbers = new ArrayList<>(); - for (String token : tokens) { - int number = Integer.parseInt(token); - if (number < 1 || number > 9) throw new IllegalArgumentException("Numbers must be between 1 and 9."); - if (userNumbers.contains(number)) throw new IllegalArgumentException("Duplicate numbers are not allowed."); + for (int i = 0; i < 3; i++) { + int number = Character.getNumericValue(input.charAt(i)); + if (number < 1 || number > 9) throw new IllegalArgumentException("Digits must be between 1 and 9."); + if (userNumbers.contains(number)) throw new IllegalArgumentException("Duplicate digits are not allowed."); userNumbers.add(number); } return userNumbers; From 474f0025a5a3b48658c638d4be47e6f4730704b1 Mon Sep 17 00:00:00 2001 From: minjae Date: Mon, 6 May 2024 12:47:34 +0900 Subject: [PATCH 12/12] =?UTF-8?q?refactor(NumberBaseballGame):=20=EC=9B=90?= =?UTF-8?q?=EB=9E=98=EC=9D=98=20build.gradle=EB=A1=9C=20=EB=B3=B5=EA=B5=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit IntelliJ에서는 아직 안되지만 컴퓨터 세팅과 set JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8를 사용해서 cmd에서 돌려보니 정상 동작을 확인. --- build.gradle | 4 ---- 1 file changed, 4 deletions(-) diff --git a/build.gradle b/build.gradle index e695f5c4..96126bd0 100644 --- a/build.gradle +++ b/build.gradle @@ -22,8 +22,4 @@ dependencies { test { useJUnitPlatform() -} - -tasks.withType(JavaCompile) { - options.encoding = 'UTF-8' } \ No newline at end of file