inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[인프런 워밍업 클럽 BE 0기] 5일차 과제

ailen22
0

클린코드


 

문제

최대한 클린하지 않게 작성된 아래 코드는 다음과 같이 동작합니다.

image

 

풀이

public class Main {
    public static void main(String[] args) throws Exception{
        System.out.println("숫자를 입력하세요 : ");
        Scanner scanner = new Scanner(System.in);
        //주사위를 던질 횟수
        int diceThrow = scanner.nextInt();
        // 1~6까지 주사위가 나온 횟수를 저장하는 배열
        int[] count = new int[6];

        for (int i = 0; i < diceThrow; i++) {
            double roll = Math.random() * 6;
            int result = (int) roll + 1;
            count[result - 1]++;
        }
        for (int i = 0; i < count.length; i++) {
            int counts = count[i];
            System.out.printf("%d는 %d번 나왔습니다.\n",i + 1,counts);
        }
    }
}

image

ex)12면체 주사위일경우

public class Main {
    public static void main(String[] args) throws Exception{
        System.out.println("숫자를 입력하세요 : ");
        Scanner scanner = new Scanner(System.in);
        //주사위를 던질 횟수
        int diceThrow = scanner.nextInt();
        // 1~12까지 주사위가 나온 횟수를 저장하는 배열
        int[] count = new int[12];

        for (int i = 0; i < diceThrow; i++) {
            double roll = Math.random() * 12;
            int result = (int) roll + 1;
            count[result - 1]++;
        }
        for (int i = 0; i < count.length; i++) {
            int counts = count[i];
            System.out.printf("%d는 %d번 나왔습니다.\n",i + 1,counts);
        }
    }
}

저장 받을 배열을 12로 늘려주고 radom을 12까지 받으면 된다.

 

답변 0