Search

5일차) 클린코드

주제

클린코드에 대해서 이해하고 실제로 경험해보자.

 주요 내용

키워드

클린 코드

클린 코드를 적용해보자

요구사항

import java.util.Scanner; //주사위 결과를 관리하는 클래스 class DiceResult { private int[] results; public DiceResult(int numSides) { results = new int[numSides + 1]; // 0번 인덱스는 사용하지 않게 +1 } //어느 면으로 나왔는지 주사위를 굴려 나온 결과를 배열에 넣기 public void recordRoll(int side) { results[side]++; } //주사위 결과를 출력 public void displayResults() { for (int i = 1; i < results.length; i++) { System.out.printf("%d은(는) %d번 나왔습니다.\n", i, results[i]); } } } //주사위 게임을 관리하는 클래스 public class DiceGame { private static final int MAX_DICE_NUM = 6; // 최대 면 private DiceResult diceResult; //주사위 결과 객체를 초기화 public DiceGame() { diceResult = new DiceResult(MAX_DICE_NUM); } //사용자 입력을 받는 메소드 private int getUserInput() { Scanner scanner = new Scanner(System.in); System.out.print("숫자를 입력하세요 : "); int input = scanner.nextInt(); scanner.close(); return input; } //주사위를 굴리는 메소드 private void rollDice(int rolls) { for (int i = 0; i < rolls; i++) { int result = (int) (Math.random() * MAX_DICE_NUM) + 1; diceResult.recordRoll(result); } } //결과를 출력하는 메소드 private void printResult() { diceResult.displayResults(); } public void play() { //굴릴 횟수를 입력 int rolls = getUserInput(); //횟수만큼 주사위를 굴리기. rollDice(rolls); //결과 출력 printResult(); } public static void main(String[] args) { DiceGame game = new DiceGame(); game.play(); } }
Java
복사

참고

챗GPT