Untitled

코드

main class

public class DiceController {

    private static DiceController dc = new DiceController();

    public int inputRollNumber(){
        System.out.println("주사위 던질 횟수를 입력해주세요");
        Scanner scanner = new Scanner(System.in);
        return scanner.nextInt();
    }

    public int inputMaxNumber(){
        System.out.println("주사위 최대값을 입력해주세요");
        Scanner scanner = new Scanner(System.in);
        return scanner.nextInt();
    }

    public int diceRandom(int n){
        return (int)(Math.random() * n) + 1;
    }

    public List<Number> addListData(int max){
        List<Number> numberList = new ArrayList<>();
        for(int i = 1; i < max+1; i++){
            numberList.add(new Number(i,0));
        }
        return  numberList;
    }

    public void rollDiceProcess(List<Number> list, int rollNumber, int maxNumber){
        for(int i=0;i<rollNumber;i++){
            int tempNumber = dc.diceRandom(maxNumber);
            list.get(tempNumber-1).getCount();
        }
    }

    public static void main(String[] args) {
        int rollNumber = dc.inputRollNumber();
        int maxNumber = dc.inputMaxNumber();
        List<Number> list = dc.addListData(maxNumber);
        dc.rollDiceProcess(list,rollNumber,maxNumber);
        for(Number number : list){
            System.out.println(number.getNumber() + "번은 " + (number.getCount()-1) + "번 나왔습니다.");
        }
    }
}

데이터 객체 클래스

public class Number {
    private int number;
    private int count;

    public int getNumber() {
        return number;
    }

    public int getCount() {
        return ++count;
    }

    public Number(int number, int count) {
        this.number = number;
        this.count = count;
    }
}

실행 결과

Untitled

<aside> 💡 주사위를 구현 하려고 할 때 최댓값, 최소값을 패턴방식으로 한다는걸 알게 되었습니다. (math.random() * 최댓값) + 최솟값 클린코드를 구현하기 위해서는 패턴을 이용하면 좋겠다라는 생각을 하게 되었습니다.

</aside>

출처

본 게시물은 자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지] 강의를 수강하면서 작성하였습니다.

강의를 수강하고 싶은 분들은 밑 링크를 참고해주세요!

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지] 강의 - 인프런