# 주사위 통계
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 => ##
```
goodlife1359님의 답변
## 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 인덱스에 저장된 데이터 만큼 "#"을 다음줄에 출력해줄수 있기 때문 입니다.