[인프런 워밍업 클럽] 5일차 과제 클린코드 (주사위)
2024.02.23
[제시된 코드]
여러 함수로 나누어도 좋습니다! 🙂
여러 클래스로 나누어도 좋습니다! 🙂

코드
class DiceDao{
// 숫자를 입력받아 주사위의 면 갯수를 만들어주는 메소드 list를 반환
public List<Integer> diceNumCollector(int num){
List<Integer> list = new ArrayList<>();
for (int i = 0; i<num; i++){
list.add(0);
}
return list;
}
// 숫자를 입력받아 그 숫자를 int형으로 바꾸어 반환
public int enterNum(){
Scanner scanner = new Scanner(System.in);
System.out.println("숫자를 입력하세요 : ");
return scanner.nextInt();
}
// 주사위 면을 가진 리스트와 횟수를 매개변수로 받는다.
public void result(List<Integer> list, int num){
Random random = new Random();
for(int i = 0; i < num; i++){
int randomIndex = random.nextInt(list.size()); // 난수생성
int oldValue = list.get(randomIndex); // 난수에 해당하는 인덱스 번호의 리스트 가져오기
list.set(randomIndex, oldValue+=1); // 가져온 난수인덱스 리스트값 변경하기
}
for(int i = 0; i < list.size(); i++){ // 출력문
System.out.printf("%s은 %s번 나왔습니다. \n", i+1, list.get(i));
}
}
}메인
public class Main {
public static void main(String[] args) {
final DiceDao dao = new DiceDao();
dao.result(dao.diceNumCollector(6), dao.enterNum());
}
}
댓글을 작성해보세요.