# 주사위 통계 for(int row = 2; row< counts.length; row++) { System.out.printf("%d => ", row); for(int col = 0; col < counts[row]; col++) { System.out.printf("#"); <- 여기 부분이 왜 printf인가요? println으로는 안되는 건가요? } System.out.println(); <- 괄호 안에 아무것도 안넣는 게 어떤 의미인가요?? } #### CODE <a class='btn btn-default' href='/codes/41644'>Link</a> ``` // 자바 API를 불러옴 import java.lang.Math; import java.util.Random; public class RandomTest { public static void main(String[] args) { // 변수 생성 및 주사위 던지기 int[] counts = new int[13]; for(int i = 0; i < 100; i++) { int a = DieA.roll(); int b = DieB.roll(); counts[a+b]++; // a+b 번째 배열 안에 수가 하나씩 늘어나는 것 } for(int row = 2; row< counts.length; row++) { System.out.printf("%d => ", row); for(int col = 0; col < counts[row]; col++) { System.out.printf("#"); } System.out.println(); } } } class DieA { // 1 부터 6사이 정수를 반환 [참고] https://cloudstudying.kr/challenges/348 public static int roll() { double r = Math.random() * 6; // 0.0 <= r < 6.0 int randInt = (int) r; // 0, 1, 2, ..., 5 return randInt + 1; // 1, 2, 3, ..., 6 } } class DieB { public static int roll() { // 1 부터 6사이 정수를 반환 [참고] https://cloudstudying.kr/challenges/404 Random rand = new Random(); int randInt = rand.nextInt(6); // (0 ~ 5) return randInt + 1; } } ``` #### INPUT ``` ``` #### OUPUT ``` 2 => #### 3 => ##### 4 => ###### 5 => ########### 6 => ######### 7 => ############### 8 => ################## 9 => ############# 10 => ############ 11 => ##### 12 => ## ```
## println 과 printf println은 문자열을 출력후 자동으로 줄바꿈이 됩니다. printf는 문자열을 출력후 줄바꿈이 되지 않습니다. for(int col = 0; col < counts[row]; col++) { System.out.printf("#"); <- 여기 부분이 왜 printf인가요? println으로는 안되는 건가요? } 위에서 printf를 사용하는 이유는 반복문을 돌면서 "#"을 한줄에 출력하기 위함 입니다. for(int row = 2; row< counts.length; row++) { System.out.printf("%d => ", row); for(int col = 0; col < counts[row]; col++) { System.out.printf("#"); } System.out.println(); <- 괄호 안에 아무것도 안넣는 게 어떤 의미인가요?? } "#" 을 counts[row] 만큼 출력후 한줄을 띄어주기 위해 println을 사용 하였습니다. 그래야 row 인덱스에 저장된 데이터 만큼 "#"을 다음줄에 출력해줄수 있기 때문 입니다.