import java.util.Scanner;
// Press Shift twice to open the Search Everywhere dialog and type `show whitespaces`,
// then press Enter. You can now see whitespace characters in your code.
public class Main {
public static void main(String[] args) throws Exception{
System.out.print("숫자를 입력하세요 : ");
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int r1 = 0, r2 = 0, r3 = 0, r4 = 0, r5 = 0, r6 =0;
for(int i = 0; i < a; i++){
double b = Math.random() * 6;
if( b >= 0 && b < 1){
r1++;
} else if (b >= 1 && b < 2){
r2++;
} else if (b >= 2 && b < 3){
r3++;
} else if (b >= 3 && b < 4){
r4++;
} else if (b >= 4 && b < 5){
r5++;
} else if (b >= 5 && b < 6){
r6++;
}
}
System.out.printf("1은 %d번 나왔습니다.\\n", r1);
System.out.printf("2은 %d번 나왔습니다.\\n", r2);
System.out.printf("3은 %d번 나왔습니다.\\n", r3);
System.out.printf("4은 %d번 나왔습니다.\\n", r4);
System.out.printf("5은 %d번 나왔습니다.\\n", r5);
System.out.printf("6은 %d번 나왔습니다.\\n", r6);
}
}
import java.util.Scanner;
// Press Shift twice to open the Search Everywhere dialog and type `show whitespaces`,
// then press Enter. You can now see whitespace characters in your code.
public class Main {
public static void main(String[] args) throws Exception{
System.out.print("주사위의 최대 값을 입력하세요. : ");
Scanner scannerDiceNumber = new Scanner(System.in);
int diceNumber = scannerDiceNumber.nextInt();
System.out.print("숫자를 입력하세요 : ");
Scanner scannerCastNumber = new Scanner(System.in);
int castNumber = scannerCastNumber.nextInt();
int[] arrayFrequency = new int[diceNumber];
for(int i = 0; i < diceNumber ; i++){
arrayFrequency[i] = 0;
}
for(int i = 0; i < castNumber ; i++){
int b = (int)(Math.random() * diceNumber);
arrayFrequency[b]++;
}
for(int i = 0; i < diceNumber ; i++){
System.out.printf("%d은 %d번 나왔습니다.\\n", i+1, arrayFrequency[i]);
}
}
}
함수를 나누기 전에 주사위의 최대값도 입력받도록 코드를 수정하였다.
주사위의 최대값은 6까지 있는 주사위인지. 20까지 있는 주사위인지를 뜻한다.
그리고, 주사위 최대값 만큼 배열을 만들어서 각 숫자별로 나오는 횟수를 저장할 수 있도록 변경하였다.
결과
Main.java
public class Main {
public static void main(String[] args) throws Exception{
InputMessage inputStep = new InputMessage();
inputStep.printInputMessage();
DiceCalculator calcStep = new DiceCalculator(inputStep.getDiceNumber(), inputStep.getCastNumber());
calcStep.castFrequencyCalc();
}
Main 함수를 크게 두개로 나누었다.
첫번째 부분은 주사위 수와, 던지는 횟수를 입력받는 부분이다. 이것은 InputMessage 클래스를 이용하여 구현하였다.