[인프런 워밍업클럽 BE] 5일차 : 클린코드

진욱 홍·2024년 2월 23일
0
post-thumbnail

이번 과제는 제시된 코드를 읽어보며, 코드를 더 좋은 코드로 고쳐나가는 과정이다. 아래 제시된 코드를 더 좋은 코드로 바꿔보자!

  • 숫자를 하나 입력받는다.
  • 해당 숫자만큼 주사위를 던져, 각 숫자과 몇 번 나왔는 지 알려준다.

코드 리펙토링

public class HomeworkMain {
    private static int DICE_SIZE=6; //주사위 면의 수
    private static int[] elementDice=new int[DICE_SIZE]; //각 요소별 나온 횟수를 저장하는 배열


    //메인함수(실행함수)
    public static void main(String[] args) throws Exception {
        inputNum();
        printDice();
    }
    // 숫자를 입력하는 함수
    public static void inputNum(){
        System.out.print("숫자를 입력하세요: ");
        Scanner scanner=new Scanner(System.in);
        int input=scanner.nextInt();
        calculateDice(input);
    }
    // 주사위 각 면이 얼만큼 나왔는 지 계산하는 함수
    public static void calculateDice(int input){
        for(int i=0; i<input; i++){
            int number=(int)(Math.random()*DICE_SIZE)%DICE_SIZE;
            elementDice[number]++;
        }

    }
    // 주사위 각 면의 얼만큼 나왔는 지 출력하는 함수
    public static void printDice(){
        for(int i=0; i<DICE_SIZE; i++){
            System.out.println((i+1)+"번은 "+elementDice[i]+"번 나왔습니다.");
        }
    }
}

출력 결과

profile
Geospatial Information Engineering · Computer Science&Engineering

0개의 댓글