📌 문제


📌 한 걸음 더!
package com.group.libraryapp.homework5;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws Exception {
printDiceSizeInputInfo();
// 숫자를 하나 입력 받는다.
int diceSize = inputDiceSize();
// 입력 받은 숫자의 주사위를 생성하고 주사위 크기만큼 주사위를 던진다.
int[] diceCounts = rollDice(diceSize);
// 각 숫자가 몇 번 나왔는지 출력한다.
printResult(diceCounts);
}
private static void printDiceSizeInputInfo() {
System.out.print("주사위 숫자를 입력하세요 : ");
}
private static int inputDiceSize() {
Scanner scanner = new Scanner(System.in);
return scanner.nextInt();
}
private static int[] rollDice(int diceSize) {
int[] dice = new int[diceSize];
for (int i = 0; i < diceSize; i++) {
int diceNum = (int)(Math.random() * diceSize) + 1;
dice[diceNum - 1] += 1;
}
return dice;
}
private static void printResult(int[] diceCounts) {
for (int i = 0; i < diceCounts.length; i++) {
System.out.printf("%d은(는) %d번 나왔습니다.\n", i + 1, diceCounts[i]);
}
}
}
클린 코드 원칙에 따라 하나의 함수에는 하나의 기능만 넣었고, 제 3자가 읽기 쉽도록 최대한 노력했습니다.
원하는 로직을 바로 찾을 수 있게 함수명도 신경써서 지었습니다.
그리고 주사위의 숫자 범위가 달라지더라도 그 숫자 범위만큼 주사위를 돌릴 수 있도록 로직을 바꿨습니다.
강의 링크
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인
Java와 Spring Boot, JPA, MySQL, AWS를 이용해 서버를 개발하고 배포합니다. 웹 애플리케이션을 개발하며 서버 개발에 필요한 배경지식과 이론, 다양한 기술들을 모두 학습할 뿐 아니라, 다양한 옵션들
www.inflearn.com
'스터디 > 워밍업-클럽' 카테고리의 다른 글
| [인프런 워밍업 클럽] 4일차 - 추가적인 API 만들기 (0) | 2024.02.22 |
|---|---|
| [인프런 워밍업 클럽] 3일차 - 익명 클래스와 람다식 (0) | 2024.02.21 |
| [인프런 워밍업 클럽] 2일차 - GET, POST API 만들기 (0) | 2024.02.20 |
| [인프런 워밍업 클럽] 1일차 - 어노테이션에 대해 (0) | 2024.02.19 |