728x90

출처 - https://inf.run/XKQg

 

출처 - https://inf.run/XKQg

 

 

[작성 코드]

import java.util.Scanner;

public class Main {

    static int[] numArr;
    public static void main(String[] args) {

        int num = inputNum();
        numArr = new int[num];
        dice(num);
        print(numArr);
        
    }

    public static int inputNum() {
        Scanner scanner = new Scanner(System.in);
        System.out.print("숫자를 입력하세요 : ");
        return scanner.nextInt();
    }

    public static void dice(int num) {
        for (int i = 0; i < num; i++) {
            double random = Math.random() * num;
            numArr[(int) random - 1]++;
        }
    }

    public static void print(int[] numArr) {
        for (int i = 0; i < numArr.length; i++) {
            System.out.printf("%d는 %d번 나왔습니다.\n", i + 1, numArr[i]);
        }
    }
}

 

  • numArr은 주사위 던지기 결과를 저장하는 배열로 static 변수로 선언해준다.
  • 숫자를 입력 받는 inpunNum()메서드를 만들어 입력 받는다.
  • 입력 받은 숫자 만큼 numArr의 길이를 지정해준다.
  • dice 메서드를 만들어 입력한 숫자만큼 주사위를 던지고, 각 숫자가 몇번 나왔는지 numArr에 저장해준다.
  • print메서드로 각 숫자가 몇번 나왔는지 출력해준다.

 

[정리]

각 메서드에서 numArr를 사용할 수 있도록 static(전역)변수로 선언하였고,

주사위의 최대 숫자는 다를 수 있으므로 숫자 입력을 받아 num 변수에 대입하였다.

(입력받은 num 만큼 주사위 놀이를 할 수 있다.)

 

처음엔 print()메서드를 따로 빼지 않았는데 기능별로 더 세분화 시키는 것이 나을 것 같아서 분리하였다.

 

클린 코드에 대해 아직 공부를 미뤄 두었는데..

오늘 계기로 빠르게 읽고 정리해봐야겠다..!

 

 

 

 

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

728x90

+ Recent posts