Conversation
| } | ||
| // 자동차를 배열로 받고 시행횟수 받고 배열만들고 | ||
| // 랜덤함수 돌리고 숫자 넘으면 -를 배열에 들어간 숫자만큼 반복하고 | ||
| //비교 하고 최종우승자 나오게해보자 No newline at end of file |
There was a problem hiding this comment.
깃허브에 코드를 올릴때는 맨 마지막 라인에 공백이 들어와야 해요!
자료 참고바랍니당
| if (cars[i].isEmpty()) { | ||
| throw new IllegalArgumentException("이름은 비어 있을 수 없음"); | ||
| } | ||
| if (!cars[i].equals(cars[i].trim())) { | ||
| throw new IllegalArgumentException("이름에 공백 불가"); |
There was a problem hiding this comment.
두 조건문을 String.isBlank() 메소드로 대체할 수 있어 보여요.
| } | ||
| } | ||
| System.out.println("시도할 회수는 몇회인가요?"); | ||
| String input = sc.nextLine(); |
There was a problem hiding this comment.
시도 횟수를 입력받을 때 처음부터 sc.nextInt()를 사용하지 않은 이유가 있으신가요?
There was a problem hiding this comment.
자바를 처음 배워서 블로그를 참조하였는데 블로그에서 저런식으로 문자열로 받고 정수형 변환하는 것을 보고 배웠는데 더 단순하게 할 수 있었네요!!
| } catch (NumberFormatException e) { | ||
| throw new IllegalArgumentException("횟수는 숫자여야 함"); //catch에 있는 문장을 읽고 IllegalArgumentException을 통하여 프로그램 종료 | ||
| } | ||
| int[] arr = new int[cars.length]; |
There was a problem hiding this comment.
이 배열은 자동차의 위치를 저장하는 배열로 보이는데 이렇게 되면 자동차의 이름 배열, 자동차의 위치 배열로 분리되어 관리 포인트가 2개가 되므로 클래스를 사용해서 하나로 합치는건 어떻게 생각하시나요??
| int randNum = Randoms.pickNumberInRange(0, 9); //기존에 import java.util.Random을 사용하였었는데 테스트가 통과하지 않아 바꿨습니다! | ||
| if (randNum >= 4) { | ||
| arr[j] += 1; | ||
| } |
There was a problem hiding this comment.
| int randNum = Randoms.pickNumberInRange(0, 9); //기존에 import java.util.Random을 사용하였었는데 테스트가 통과하지 않아 바꿨습니다! | |
| if (randNum >= 4) { | |
| arr[j] += 1; | |
| } | |
| if (Randoms.pickNumberInRange(0, 9) >= 4) { | |
| arr[j] += 1; | |
| } |
이렇게 하면 randNum이라는 변수가 더이상 필요하지 않아보여요!
There was a problem hiding this comment.
이렇게 하면 randNum도 필요없고 코드가 더 짧아지네요!
| for (int k = 0; k < arr[j]; k++) { | ||
| System.out.print("-"); | ||
| } |
There was a problem hiding this comment.
반복문으로도 할 수 있지만, String.repeat() 메소드가 있습니다!
찾아보시는걸 추천드려요.

No description provided.