인프런 워밍업 클럽 과제 5
[인프런 워밍업 클럽 1기] BE 5일차 본 게시글은 다음 강의 내용을 진행하고 있습니다.
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지] - https://inf.run/XKQg
문제 1
풀이 과정, 한 걸음 더
사용자로부터 입력을 받는 부분, 주사위를 던지고 계산하는 부분, 결과를 출력하는 부분으로 메소드를 분리하여 구현했다.
숫자 범위가 달라지더라도 동작하도록 코드를 수정했다.
DiceRoller.java
package com.group.libraryapp.controller.assignment3;
import java.util.Scanner;
public class DiceRoller {
public static void main(String[] args) {
int numOfFaces = getNumOfFaces(); // 주사위 면의 수를 입력 받음
int[] faceCounts = rollDice(numOfFaces); // 주사위를 던져 각 숫자의 출현 횟수를 계산
printResult(faceCounts); // 결과 출력
}
// 사용자로부터 주사위 면의 수를 입력받는 메소드
private static int getNumOfFaces() {
System.out.println("주사위 면의 수를 입력하세요:");
Scanner scanner = new Scanner(System.in);
return scanner.nextInt();
}
// 주사위를 던져 각 숫자의 출현 횟수를 계산하는 메소드
private static int[] rollDice(int numOfFaces) {
int[] faceCounts = new int[numOfFaces];
for (int i = 0; i < numOfFaces; i++) {
double randomValue = Math.random() * numOfFaces;
int face = (int) randomValue;
faceCounts[face]++;
}
return faceCounts;
}
// 결과를 출력하는 메소드
private static void printResult(int[] faceCounts) {
for (int i = 0; i < faceCounts.length; i++) {
System.out.printf("%d은(는) %d번 나왔습니다.\n", i + 1, faceCounts[i]);
}
}
}
결과 - 6 입력
결과 - 20 입력
댓글남기기