반응형
문제
package kr.or.ddit.homework;
public class HomeWork16 {
public static void main(String[] args) {
/*
* 1. 주사위 1개를 던지는 메소드 만들기 .
*
* 2. 주사위 2개를 던지는 메소드 만들기
* -> 1. 주사위 한개 던지는 메소드 활용.
*
* 3. 주사위 2개를 여러번 던지는 메소드 만들기.
* 파라미터 int num
* return int 배열
* -> 2. 주사위 2개를 던지는 메소드 만들기 활용.
*
* 4. 주사위 2개 던지기 num 만큼 실행 후 출력하기.
* -> 3. 주사위 2개를 여러번 던지는 메소드 만들기.
* 값을 받아서 출력하기 .
*
* 2 **
* 3 ****
* 4 ******
* 5 ********
* 6 ***********
* 7 ***************
* 8 ***********
* 9 ********
* 10 *****
* 11 ****
* 12 **
*
*
*/
}
}
정답
package kr.or.ddit.homework;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class HomeWork16 {
public static void main(String[] args) {
/*
* 1. 주사위 1개를 던지는 메소드 만들기
*
* 2. 주사위 2개를 던지는 메소드 만들기
* -> 1. 주사위 한개 던지는 메소드 활용
*
* 3. 주사위 2개를 여러번 던지는 메소드 만들기
* 파라미터 int num
* return int 배열
* -> 2. 주사위 2개를 던지는 메소드 만들기 활용.
*
* 4. 주사위 2개 던지기 num 만큼 실행 후 출력하기.
* -> 3. 주사위 2개를 여러번 던지는 메소드 만들기.
* 값 받아서 출력하기.
*
*
* 2 **
* 3 ****
* 4 ******
* 5 ********
* 6 ***********
* 7 ***************
* 8 ***********
* 9 ********
* 10 *****
* 11 ****
* 12 **
*
*/
HomeWork16 h = new HomeWork16();
Scanner sc = new Scanner(System.in);
System.out.println("주사위를 몇 번 던지겠습니까?");
int number = sc.nextInt();
System.out.println();
int[] numArray = h.twoDice(number);
h.sortArray(numArray);
int[] num = h.numberDice(numArray);
int[] perce = h.percentage(num, number);
h.printDice(perce);
}
public int oneDice() {
return new Random().nextInt(6)+1;
}
public int[] twoDice(int num) {
int[] numArray = new int[num];
for(int i=0; i<num; i++) {
numArray[i] = oneDice() + oneDice();
// 확인
// System.out.println(numArray[i]);
}
return numArray;
}
// 정렬
public void sortArray(int[] numArray) {
Arrays.sort(numArray);
// System.out.println(Arrays.toString(numArray));
}
// 갯수 확인
public int[] numberDice(int[] numArray) {
// 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
int[] num = new int[11];
for(int i=0; i<num.length; i++) {
for(int j=0; j<numArray.length; j++) {
if(numArray[j] == 2+i) {
num[i]++;
} else {
continue;
}
}
}
return num;
}
// 백분율
public int[] percentage(int[] num, int number) {
int[] perce = new int[num.length];
for(int i=0; i<num.length; i++) {
perce[i] = num[i] * 100 / number ;
// System.out.println(perce[i]);
}
return perce;
}
// 프린트
public void printDice(int[] perce) {
for(int i=0; i<perce.length; i++) {
System.out.print((2+i) + " ");
for(int j=0; j<perce[i]; j++) {
System.out.print("■");
}
System.out.println();
}
}
}
반응형
'자바' 카테고리의 다른 글
[Java 초급] 20장 달력 (0) | 2023.12.29 |
---|---|
[Java 초급] 19장 예외 (0) | 2023.12.28 |
[Java 초급] 18장 추상 클래스, 인터페이스, 중첩 클래스 (0) | 2023.12.27 |
[Java 초급] 17.5장 테스트 (0) | 2023.12.26 |
[Java 초급] 17장 상속, 다형성 (2) | 2023.12.26 |