diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index a17a52e7..6a10becb 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -1,7 +1,32 @@ package racingcar; +import camp.nextstep.edu.missionutils.Console; +import camp.nextstep.edu.missionutils.Randoms; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + public class Application { public static void main(String[] args) { // TODO: 프로그램 구현 + System.out.println( + "경주할 자동차 이름을 입력하세요." + + "(이름은 쉼표(,) 기준으로 구분)"); + RacingGame racingGame; + int n; + racingGame = new RacingGame(Console.readLine()); + System.out.println("시도할 회수는 몇회인가요?"); + n = getTurn(Console.readLine()); + racingGame.runRace(n); + racingGame.printResult(); + return; + } + public static int getTurn(String input) { + int n; + n = Integer.parseInt(input); + if(n<1) { + throw new RuntimeException + ("1보다 작은 횟수"); + } + return n; } } diff --git a/src/main/java/racingcar/Car.java b/src/main/java/racingcar/Car.java new file mode 100644 index 00000000..b85b1551 --- /dev/null +++ b/src/main/java/racingcar/Car.java @@ -0,0 +1,33 @@ +package racingcar; + +import camp.nextstep.edu.missionutils.Randoms; + +public class Car { + String name; + int distance; + + public Car(String name) throws CarNameInputException{ + name=name.trim(); + if(name.length()>5||name.length()<1) { + System.out.println("자동차 이름은 1글자 이상, 5글자 이하여야 합니다."); + throw new CarNameInputException("잘못된 값이 입력되어서 종료합니다."); + } + /*if(name.indexOf(":")==-1){ + throw new CarNameInputException("':'는 포함하면 안됩니다."); + }*/ + this.name=name; + this.distance=0; + } + public void run() { + if(Randoms.pickNumberInRange(0,9)>=4){ + this.distance++; + } + } + public void print() { + System.out.print(this.name+" : "); + for(int i=0;i - assertThatThrownBy(() -> runException("pobi,javaji", "1")) - .isInstanceOf(IllegalArgumentException.class) - ); + assertThatThrownBy(() -> runException("pobi,javaji", "1")) + .isInstanceOf(CarNameInputException.class); } @Override