++count
를 사용하여 값이 증가하도록 하였습니다.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;
}
}
<aside>
💡 주사위를 구현 하려고 할 때 최댓값, 최소값을 패턴방식으로 한다는걸 알게 되었습니다.
(math.random() * 최댓값) + 최솟값
클린코드를 구현하기 위해서는 패턴을 이용하면 좋겠다라는 생각을 하게 되었습니다.
</aside>
출처
본 게시물은 자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지] 강의를 수강하면서 작성하였습니다.
강의를 수강하고 싶은 분들은 밑 링크를 참고해주세요!
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지] 강의 - 인프런