From 7e0ea5d8925c6d50871e25652f47c8bdf9f6eb76 Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Fri, 16 Dec 2022 18:20:33 +0900 Subject: [PATCH 01/16] =?UTF-8?q?docs():=20=EA=B5=AC=ED=98=84=ED=95=A0=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EB=AA=A9=EB=A1=9D=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index fcf3f057..33d893c7 100644 --- a/README.md +++ b/README.md @@ -5,3 +5,14 @@ ## 과제 제출 과정 * [과제 제출 방법](https://github.com/next-step/nextstep-docs/tree/master/ent-precourse) + +## 구현할 기능 목록 +* 게임을 진행할 메소드 정의 +* 변수 초기화 하기 +* 컴퓨터의 숫자 정하기 +* 컴퓨터의 숫자 카운트하기(어떤 숫자가 등장했는지) +* 숫자 입력받기 +* 결과 구하기 +* 결과 출력하기 +* 계속할지 여부 묻기 +* 테스트 코드 작성하기 \ No newline at end of file From 27d7d813fa2eac5dae90fee2a0feafdc5151bc8e Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Fri, 16 Dec 2022 18:21:48 +0900 Subject: [PATCH 02/16] =?UTF-8?q?feat():=20=EA=B2=8C=EC=9E=84=EC=9D=84=20?= =?UTF-8?q?=EC=A7=84=ED=96=89=ED=95=A0=20=EB=A9=94=EC=86=8C=EB=93=9C=20?= =?UTF-8?q?=EC=A0=95=EC=9D=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/NumberBaseball.java | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/main/java/NumberBaseball.java diff --git a/src/main/java/NumberBaseball.java b/src/main/java/NumberBaseball.java new file mode 100644 index 00000000..35111cda --- /dev/null +++ b/src/main/java/NumberBaseball.java @@ -0,0 +1,30 @@ +public class NumberBaseball { + final int NUMBER_COUNT = 3; + final int MAX_NUM = 9; + final int CONTINUE = 1; + final int END = 2; + int[] random_numbers = new int[NUMBER_COUNT]; + boolean[] random_numbers_count = new boolean[MAX_NUM + 1]; + int[] input_numbers = new int[NUMBER_COUNT]; + int strike; + int ball; + public boolean do_game() { + initialize_parameter(); + generate_random_numbers(); + get_random_numbers_count(); + while(strike != NUMBER_COUNT) { + get_input_numbers(); + get_game_result(); + print_game_result(); + } + return print_end_message(); + } + + public static void main(String[] args) { + NumberBaseball numberBaseball = new NumberBaseball(); + boolean game_continue = true; + while(game_continue){ + game_continue = numberBaseball.do_game(); + } + } +} From b54950cc393bad33b2b3e101be33320b73987203 Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Fri, 16 Dec 2022 18:23:02 +0900 Subject: [PATCH 03/16] =?UTF-8?q?feat():=20=EB=B3=80=EC=88=98=20=EC=B4=88?= =?UTF-8?q?=EA=B8=B0=ED=99=94=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/NumberBaseball.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/NumberBaseball.java b/src/main/java/NumberBaseball.java index 35111cda..c3292db2 100644 --- a/src/main/java/NumberBaseball.java +++ b/src/main/java/NumberBaseball.java @@ -1,3 +1,4 @@ +import java.util.Arrays; public class NumberBaseball { final int NUMBER_COUNT = 3; final int MAX_NUM = 9; @@ -8,6 +9,14 @@ public class NumberBaseball { int[] input_numbers = new int[NUMBER_COUNT]; int strike; int ball; + + public void initialize_parameter(){ + Arrays.fill(random_numbers, 0); + Arrays.fill(random_numbers_count, false); + Arrays.fill(input_numbers, 0); + strike = 0; + ball = 0; + } public boolean do_game() { initialize_parameter(); generate_random_numbers(); From f2f56a3c73965ca9411efe1b15a4b9b2ccdc50d7 Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Fri, 16 Dec 2022 18:23:50 +0900 Subject: [PATCH 04/16] =?UTF-8?q?feat():=20=EC=BB=B4=ED=93=A8=ED=84=B0?= =?UTF-8?q?=EC=9D=98=20=EC=88=AB=EC=9E=90=20=EC=A0=95=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/NumberBaseball.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/NumberBaseball.java b/src/main/java/NumberBaseball.java index c3292db2..16745636 100644 --- a/src/main/java/NumberBaseball.java +++ b/src/main/java/NumberBaseball.java @@ -1,4 +1,7 @@ +import java.util.Collections; +import java.util.List; import java.util.Arrays; + public class NumberBaseball { final int NUMBER_COUNT = 3; final int MAX_NUM = 9; @@ -17,6 +20,16 @@ public void initialize_parameter(){ strike = 0; ball = 0; } + + public void generate_random_numbers() { + Integer[] numbers = new Integer[MAX_NUM + 1]; + Arrays.setAll(numbers, i -> i + 1); + List numberList = Arrays.asList(numbers); + Collections.shuffle(numberList); + for(int i = 0; i < NUMBER_COUNT; ++i){ + random_numbers[i] = numberList.get(i); + } + } public boolean do_game() { initialize_parameter(); generate_random_numbers(); From f04c8f772379110507e347a58b798f7ec5a0207a Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Fri, 16 Dec 2022 18:24:15 +0900 Subject: [PATCH 05/16] =?UTF-8?q?feat():=20=EC=BB=B4=ED=93=A8=ED=84=B0?= =?UTF-8?q?=EC=9D=98=20=EC=88=AB=EC=9E=90=20=EC=B9=B4=EC=9A=B4=ED=8A=B8?= =?UTF-8?q?=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/NumberBaseball.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/NumberBaseball.java b/src/main/java/NumberBaseball.java index 16745636..6b27ad4d 100644 --- a/src/main/java/NumberBaseball.java +++ b/src/main/java/NumberBaseball.java @@ -30,6 +30,12 @@ public void generate_random_numbers() { random_numbers[i] = numberList.get(i); } } + + public void get_random_numbers_count() { + for(int i = 0; i < NUMBER_COUNT; ++i){ + random_numbers_count[random_numbers[i]] = true; + } + } public boolean do_game() { initialize_parameter(); generate_random_numbers(); From dd6c03e7be0106e7c3de4abf41a2b507d580ab47 Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Fri, 16 Dec 2022 18:24:33 +0900 Subject: [PATCH 06/16] =?UTF-8?q?feat():=20=EC=88=AB=EC=9E=90=20=EC=9E=85?= =?UTF-8?q?=EB=A0=A5=EB=B0=9B=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/NumberBaseball.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/NumberBaseball.java b/src/main/java/NumberBaseball.java index 6b27ad4d..2614b95d 100644 --- a/src/main/java/NumberBaseball.java +++ b/src/main/java/NumberBaseball.java @@ -1,5 +1,6 @@ import java.util.Collections; import java.util.List; +import java.util.Scanner; import java.util.Arrays; public class NumberBaseball { @@ -31,6 +32,15 @@ public void generate_random_numbers() { } } + public void get_input_numbers() { + System.out.print("숫자를 입력해주세요 : "); + Scanner scanner = new Scanner(System.in); + String input = scanner.nextLine(); + for(int i = 0; i < NUMBER_COUNT; ++i){ + input_numbers[i] = input.charAt(i) - '0'; + } + } + public void get_random_numbers_count() { for(int i = 0; i < NUMBER_COUNT; ++i){ random_numbers_count[random_numbers[i]] = true; From 5b31210150e8f8cd8acfdcbcd8314ce879238c7e Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Fri, 16 Dec 2022 18:25:01 +0900 Subject: [PATCH 07/16] =?UTF-8?q?feat():=20=EA=B2=B0=EA=B3=BC=20=EA=B5=AC?= =?UTF-8?q?=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/NumberBaseball.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/main/java/NumberBaseball.java b/src/main/java/NumberBaseball.java index 2614b95d..2ea2e867 100644 --- a/src/main/java/NumberBaseball.java +++ b/src/main/java/NumberBaseball.java @@ -46,6 +46,24 @@ public void get_random_numbers_count() { random_numbers_count[random_numbers[i]] = true; } } + + public void count_strike_or_ball(int idx) { + if(random_numbers[idx] == input_numbers[idx]){ + ++strike; + return; + } + if(random_numbers_count[input_numbers[idx]]){ + ++ball; + } + } + + public void get_game_result() { + strike = 0; + ball = 0; + for(int i = 0; i < NUMBER_COUNT; ++i) { + count_strike_or_ball(i); + } + } public boolean do_game() { initialize_parameter(); generate_random_numbers(); From 392d8cc08bac27c7c8702149f10987de0f386719 Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Fri, 16 Dec 2022 18:25:22 +0900 Subject: [PATCH 08/16] =?UTF-8?q?feat():=20=EA=B2=B0=EA=B3=BC=20=EC=B6=9C?= =?UTF-8?q?=EB=A0=A5=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/NumberBaseball.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/NumberBaseball.java b/src/main/java/NumberBaseball.java index 2ea2e867..571a1a09 100644 --- a/src/main/java/NumberBaseball.java +++ b/src/main/java/NumberBaseball.java @@ -64,6 +64,19 @@ public void get_game_result() { count_strike_or_ball(i); } } + + public void print_game_result() { + if(strike > 0){ + System.out.print(strike + " 스트라이크 "); + } + if(ball > 0){ + System.out.print(ball + "볼"); + } + if(strike == 0 && ball == 0){ + System.out.print("낫싱"); + } + System.out.print("\n"); + } public boolean do_game() { initialize_parameter(); generate_random_numbers(); From 2ac86a8bcb2bbbd3f0cb9d585a0e019aa685ab15 Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Fri, 16 Dec 2022 18:25:42 +0900 Subject: [PATCH 09/16] =?UTF-8?q?feat():=20=EA=B3=84=EC=86=8D=ED=95=A0?= =?UTF-8?q?=EC=A7=80=20=EC=97=AC=EB=B6=80=20=EB=AC=BB=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/NumberBaseball.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/NumberBaseball.java b/src/main/java/NumberBaseball.java index 571a1a09..bcdd89df 100644 --- a/src/main/java/NumberBaseball.java +++ b/src/main/java/NumberBaseball.java @@ -77,6 +77,19 @@ public void print_game_result() { } System.out.print("\n"); } + + public boolean print_end_message(){ + System.out.println("3개의 숫자를 모두 맞히셨습니다! 게임 종료"); + while(true) { + System.out.println("게임을 새로 시작하려면 1, 종료하려면 2를 입력하세요"); + Scanner scanner = new Scanner(System.in); + int input = Integer.parseInt(scanner.nextLine()); + if (input == CONTINUE) return true; + if (input == END) return false; + System.out.println("잘못 입력하셨습니다"); + } + } + public boolean do_game() { initialize_parameter(); generate_random_numbers(); From 2710171f62c1c2c10d9ffd3cf91ad2a64a525afe Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Sun, 18 Dec 2022 22:20:55 +0900 Subject: [PATCH 10/16] =?UTF-8?q?test():=20StringTest=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/study/StringTest.java | 33 +++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/test/java/study/StringTest.java b/src/test/java/study/StringTest.java index 43e47d90..b8358669 100644 --- a/src/test/java/study/StringTest.java +++ b/src/test/java/study/StringTest.java @@ -1,8 +1,10 @@ package study; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatIndexOutOfBoundsException; public class StringTest { @Test @@ -10,4 +12,35 @@ void replace() { String actual = "abc".replace("b", "d"); assertThat(actual).isEqualTo("adc"); } + + @Test + void test1() { + String[] split_test1 = "1,2".split(","); + assertThat(split_test1).containsExactly("1","2"); + + String[] split_test2 = "1".split(","); + assertThat(split_test2).containsExactly("1"); + } + + @Test + void test2() { + String test = "(1,2)"; + String substring_test = test.substring(1, test.length()-1); + assertThat(substring_test).isEqualTo("1,2"); + } + + @Test + void test3_1() { + String test = "abc"; + assertThat(test.charAt(1)).isEqualTo('b'); + } + + @Test + @DisplayName("Test string charAt exception") + void test3_2() { + String test = "abc"; + assertThatIndexOutOfBoundsException().isThrownBy(() ->{ + test.charAt(4); + }).withFailMessage("Index: \\d+"); + } } From 9de36229138bd1cbffc0cee4e355cc08d4d661db Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Sun, 18 Dec 2022 22:21:11 +0900 Subject: [PATCH 11/16] =?UTF-8?q?test():=20SetTest=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/study/SetTest.java | 41 ++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/test/java/study/SetTest.java diff --git a/src/test/java/study/SetTest.java b/src/test/java/study/SetTest.java new file mode 100644 index 00000000..df3f5141 --- /dev/null +++ b/src/test/java/study/SetTest.java @@ -0,0 +1,41 @@ +package study; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; +import org.junit.jupiter.params.provider.ValueSource; + +import java.util.HashSet; +import java.util.Set; + +import static org.assertj.core.api.Assertions.assertThat; + +public class SetTest { + private Set numbers; + + @BeforeEach + void setUp() { + numbers = new HashSet<>(); + numbers.add(1); + numbers.add(2); + numbers.add(2); + numbers.add(3); + } + + @Test + void test1() { + assertThat(numbers.size()).isEqualTo(3); + } + + @ParameterizedTest + @ValueSource(ints = {1, 2, 3}) + void test2(int number) { + assertThat(numbers.contains(number)).isTrue(); + } + + @ParameterizedTest + @CsvSource(value = {"1:true", "2:true", "3:true", "4:false", "5:false"}, delimiter = ':') + void test3(String number, String expected){ + assertThat(numbers.contains(Integer.parseInt(number))).isEqualTo(expected.equals("true")); + } +} From dc49e202f85366f52d68a46c0d8ed71cf6e86dcd Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Sun, 18 Dec 2022 23:32:12 +0900 Subject: [PATCH 12/16] =?UTF-8?q?refactor():=20MIN=5FNUM=20=EC=83=81?= =?UTF-8?q?=EC=88=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/NumberBaseball.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/NumberBaseball.java b/src/main/java/NumberBaseball.java index bcdd89df..8e164fbf 100644 --- a/src/main/java/NumberBaseball.java +++ b/src/main/java/NumberBaseball.java @@ -6,6 +6,7 @@ public class NumberBaseball { final int NUMBER_COUNT = 3; final int MAX_NUM = 9; + final int MIN_NUM = 1; final int CONTINUE = 1; final int END = 2; int[] random_numbers = new int[NUMBER_COUNT]; From b98f4ec0e1b96ec1b359cbc2063b7b5d9db88a7e Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Sun, 18 Dec 2022 23:32:29 +0900 Subject: [PATCH 13/16] =?UTF-8?q?test():=20NumberBaseball=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/NumberBaseballTest.java | 95 +++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 src/test/java/NumberBaseballTest.java diff --git a/src/test/java/NumberBaseballTest.java b/src/test/java/NumberBaseballTest.java new file mode 100644 index 00000000..3390a07f --- /dev/null +++ b/src/test/java/NumberBaseballTest.java @@ -0,0 +1,95 @@ +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; + +import static org.assertj.core.api.Assertions.assertThat; + +public class NumberBaseballTest { + NumberBaseball numberBaseball = new NumberBaseball(); + + void set_random_numbers() { + numberBaseball.random_numbers[0] = 7; + numberBaseball.random_numbers[1] = 1; + numberBaseball.random_numbers[2] = 3; + } + + void set_random_numbers_count() { + numberBaseball.random_numbers_count[1] = true; + numberBaseball.random_numbers_count[3] = true; + numberBaseball.random_numbers_count[7] = true; + } + + + void set_input_numbers_same() { + numberBaseball.input_numbers[0] = 7; + numberBaseball.input_numbers[1] = 1; + numberBaseball.input_numbers[2] = 3; + } + + @Test + void initialize_parameter_test() { + numberBaseball.initialize_parameter(); + assertThat(numberBaseball.random_numbers).containsOnly(0, 0, 0); + assertThat(numberBaseball.random_numbers_count).contains(false); + assertThat(numberBaseball.input_numbers).containsOnly(0, 0, 0); + assertThat(numberBaseball.strike).isEqualTo(0); + assertThat(numberBaseball.ball).isEqualTo(0); + } + + @ParameterizedTest + @ValueSource(ints = {0, 1, 2}) + void generate_random_numbers_test(int idx) { + numberBaseball.generate_random_numbers(); + assertThat(numberBaseball.random_numbers[idx]).isGreaterThanOrEqualTo(numberBaseball.MIN_NUM); + assertThat(numberBaseball.random_numbers[idx]).isLessThanOrEqualTo(numberBaseball.MAX_NUM); + } + + + @Test + void get_random_numbers_count() { + set_random_numbers(); + numberBaseball.get_random_numbers_count(); + assertThat(numberBaseball.random_numbers_count[1]).isEqualTo(true); + assertThat(numberBaseball.random_numbers_count[3]).isEqualTo(true); + assertThat(numberBaseball.random_numbers_count[7]).isEqualTo(true); + } + + @Test + void count_strike_test() { + set_random_numbers(); + set_random_numbers_count(); + numberBaseball.input_numbers[0] = 7; + numberBaseball.count_strike_or_ball(0); + assertThat(numberBaseball.strike).isEqualTo(1); + assertThat(numberBaseball.ball).isEqualTo(0); + } + + @Test + void count_ball_test() { + set_random_numbers(); + set_random_numbers_count(); + numberBaseball.input_numbers[0] = 1; + numberBaseball.count_strike_or_ball(0); + assertThat(numberBaseball.strike).isEqualTo(0); + assertThat(numberBaseball.ball).isEqualTo(1); + } + + @Test + void count_nothing_test() { + set_random_numbers(); + set_random_numbers_count(); + numberBaseball.input_numbers[0] = 2; + numberBaseball.count_strike_or_ball(0); + assertThat(numberBaseball.strike).isEqualTo(0); + assertThat(numberBaseball.ball).isEqualTo(0); + } + + @Test + void get_game_result_test() { + set_random_numbers(); + set_input_numbers_same(); + numberBaseball.get_game_result(); + assertThat(numberBaseball.strike).isEqualTo(3); + assertThat(numberBaseball.ball).isEqualTo(0); + } +} From 94a1bacaf2d3b4c4b9dffbf03eb53adc8b4ddf15 Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Wed, 21 Dec 2022 18:30:21 +0900 Subject: [PATCH 14/16] =?UTF-8?q?refac():=20=EC=B6=9C=EB=A0=A5=EA=B3=BC=20?= =?UTF-8?q?continue=20=EC=97=AC=EB=B6=80=20=EB=A1=9C=EC=A7=81=20=EB=B6=84?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/NumberBaseball.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/java/NumberBaseball.java b/src/main/java/NumberBaseball.java index 8e164fbf..1a62eff7 100644 --- a/src/main/java/NumberBaseball.java +++ b/src/main/java/NumberBaseball.java @@ -79,16 +79,18 @@ public void print_game_result() { System.out.print("\n"); } + public boolean continue_or_end(int input){ + if (input == CONTINUE) return true; + if (input == END) return false; + return false; + } + public boolean print_end_message(){ System.out.println("3개의 숫자를 모두 맞히셨습니다! 게임 종료"); - while(true) { - System.out.println("게임을 새로 시작하려면 1, 종료하려면 2를 입력하세요"); - Scanner scanner = new Scanner(System.in); - int input = Integer.parseInt(scanner.nextLine()); - if (input == CONTINUE) return true; - if (input == END) return false; - System.out.println("잘못 입력하셨습니다"); - } + System.out.println("게임을 새로 시작하려면 1, 종료하려면 2를 입력하세요"); + Scanner scanner = new Scanner(System.in); + int input = Integer.parseInt(scanner.nextLine()); + return continue_or_end(input); } public boolean do_game() { From 304d46d7266c6ad619facc82060c4fe39155f3ed Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Wed, 21 Dec 2022 18:32:22 +0900 Subject: [PATCH 15/16] =?UTF-8?q?feat():=20continue=5For=5Fend=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/NumberBaseballTest.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/test/java/NumberBaseballTest.java b/src/test/java/NumberBaseballTest.java index 3390a07f..b679c7e9 100644 --- a/src/test/java/NumberBaseballTest.java +++ b/src/test/java/NumberBaseballTest.java @@ -40,8 +40,10 @@ void initialize_parameter_test() { @ValueSource(ints = {0, 1, 2}) void generate_random_numbers_test(int idx) { numberBaseball.generate_random_numbers(); - assertThat(numberBaseball.random_numbers[idx]).isGreaterThanOrEqualTo(numberBaseball.MIN_NUM); - assertThat(numberBaseball.random_numbers[idx]).isLessThanOrEqualTo(numberBaseball.MAX_NUM); + assertThat(numberBaseball.random_numbers[idx]). + isGreaterThanOrEqualTo(numberBaseball.MIN_NUM); + assertThat(numberBaseball.random_numbers[idx]). + isLessThanOrEqualTo(numberBaseball.MAX_NUM); } @@ -92,4 +94,10 @@ void get_game_result_test() { assertThat(numberBaseball.strike).isEqualTo(3); assertThat(numberBaseball.ball).isEqualTo(0); } + + @Test + void continue_or_end_test() { + assertThat(numberBaseball.continue_or_end(1)).isEqualTo(true); + assertThat(numberBaseball.continue_or_end(2)).isEqualTo(false); + } } From d9441d27a85b97b5b3e526fc0aa7185225c29858 Mon Sep 17 00:00:00 2001 From: Seongsu Park <86999506+HolywaterPark@users.noreply.github.com> Date: Wed, 21 Dec 2022 18:39:10 +0900 Subject: [PATCH 16/16] =?UTF-8?q?style():=20=EC=8A=A4=ED=83=80=EC=9D=BC=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/NumberBaseball.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/NumberBaseball.java b/src/main/java/NumberBaseball.java index 1a62eff7..1fa298c7 100644 --- a/src/main/java/NumberBaseball.java +++ b/src/main/java/NumberBaseball.java @@ -80,8 +80,12 @@ public void print_game_result() { } public boolean continue_or_end(int input){ - if (input == CONTINUE) return true; - if (input == END) return false; + if (input == CONTINUE){ + return true; + } + if (input == END){ + return false; + } return false; }