From 9ee2c3533fc9409283a740bc00936d7c0b52e9b4 Mon Sep 17 00:00:00 2001 From: szoon2426 Date: Fri, 14 Feb 2025 23:19:54 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=EA=B8=B0=EB=B3=B8=20=EA=B8=B0=EB=8A=A5=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 --- README.md | 3 + src/main/java/racingcar/Application.java | 70 +++++++++++++++++++++++- src/main/java/racingcar/Player.java | 30 ++++++++++ 3 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 src/main/java/racingcar/Player.java diff --git a/README.md b/README.md index d0286c8..af06983 100644 --- a/README.md +++ b/README.md @@ -1 +1,4 @@ # java-racingcar-precourse +## 추가할 목록 +- 게임에 참여할 참가자는 모두 각자 자동차가 있고 이름이 있다. 이름은 ,로 구분한다. 레이싱 후 결과를 알려주고 승자를 알린다. 승자가 여러명 일 경우 ,로 구분한다. 레이싱을 여러번 할 수 있도록 시도할 횟수를 입력받는다. +- 사용자가 잘못된 값을 입력할 경우 IllegalArgumentException을 발생시킨 후 애플리케이션은 종료되어야 한다. \ No newline at end of file diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index a17a52e..ba213ee 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -1,7 +1,75 @@ package racingcar; +import camp.nextstep.edu.missionutils.Randoms; +import camp.nextstep.edu.missionutils.Console; +import java.util.Vector; +import java.util.stream.Collectors; + public class Application { + static Vector listOfPlayers = new Vector<>(); + + // 레이싱 돌려잇 + static void game(){ + for(int i = 0; i=4){ + listOfPlayers.get(i).addDistance(); + } + } + } + + // 게임 결과 + static String getGameResult(int player){ + return (listOfPlayers.get(player).getName() + " : " + + listOfPlayers.get(player).printDistance()); + } + + // 승자의 거리 + static int distanceOfWinner(){ + int answer = 0; + for(int i = 0; i answer){ + answer = listOfPlayers.get(i).getDistance(); + } + } + return answer; + } + + // 승자 출력 + static String printWinner(){ + int value = distanceOfWinner(); + Vector listOfWinners = new Vector<>(); + for(Player player : listOfPlayers){ + if(player.getDistance() == value){ + listOfWinners.add(player.getName()); + } + } + return listOfWinners.stream().collect(Collectors.joining(", ")); + } + public static void main(String[] args) { // TODO: 프로그램 구현 + + // input view + System.out.println("경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)"); + String names = Console.readLine(); + System.out.println("시도할 횟수는 몇회인가요?"); + int times = Integer.parseInt(Console.readLine()); + + // 입력받은 이름들을 player 리스트에 담아줌 + for(String name : names.split(",")){ + Player player = new Player((name)); + listOfPlayers.add(player); + } + + // output view + System.out.println("\n실행 결과"); + for(int i = 0; i Date: Fri, 14 Feb 2025 23:57:00 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EC=98=88=EC=99=B8=EC=B2=98=EB=A6=AC=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 --- ' | 11 +++++++++++ src/main/java/racingcar/Application.java | 8 ++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 ' diff --git a/' b/' new file mode 100644 index 0000000..3353cc6 --- /dev/null +++ b/' @@ -0,0 +1,11 @@ +commit 9ee2c3533fc9409283a740bc00936d7c0b52e9b4 (HEAD -> szoon2426) +Author: szoon2426 +Date: Fri Feb 14 23:19:54 2025 +0900 + + 기본 기능 추가 + +commit b9d9f2b0e3858ba8e98b53882eb49e7ae8cdd248 (origin/main, origin/HEAD, main) +Author: moongua404 +Date: Mon Jan 6 01:19:25 2025 +0900 + + feat: project-setup diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index ba213ee..28b2c49 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -4,6 +4,7 @@ import camp.nextstep.edu.missionutils.Console; import java.util.Vector; import java.util.stream.Collectors; +import java.util.regex.Pattern; public class Application { static Vector listOfPlayers = new Vector<>(); @@ -49,7 +50,7 @@ static String printWinner(){ public static void main(String[] args) { // TODO: 프로그램 구현 - // input view + // input System.out.println("경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)"); String names = Console.readLine(); System.out.println("시도할 횟수는 몇회인가요?"); @@ -57,11 +58,14 @@ public static void main(String[] args) { // 입력받은 이름들을 player 리스트에 담아줌 for(String name : names.split(",")){ + if(name.length()>5){ // 예외처리 + throw new IllegalArgumentException(); + } Player player = new Player((name)); listOfPlayers.add(player); } - // output view + // output System.out.println("\n실행 결과"); for(int i = 0; i