2013-04-09 2 views
-1

어떤 롤 < 1000 않습니다 이해가 안 돼요. 내가 왜 rand 함수가 난수를 생성 할 때 사용되는지 알지 못한다는 의미입니다.자바 난수 생성기

public class Hello { 
    public static void main(String[] args) { 
     Random rand = new Random(); 
     int freq[] = new int[7]; 
     for (int roll = 1; roll < 1000; roll++) { // is there a reason for roll<1000 
      ++freq[1 + rand.nextInt(6)]; 
     } 
     System.out.println("Face \tFrequency"); 
     for (int face = 1; face < freq.length; face++) { 
      System.out.println(face + "\t" + freq[face]); 
     } 
    } 
} 
+2

'roll'은 루프 카운터입니다. 루프는 999 번 반복됩니다. 그것에 대해 이상한 것은 없습니다. – Jesper

+4

[히스토그램] (http://en.wikipedia.org/wiki/Histogram)을 생성 중입니다. 당신은 6 면체를 가지고 있고 ('int freq [] = new int [7];'), 999 번 굴려서 ('int roll = 1; roll <1000') 당신이 착륙 한 횟수 각면에. – jbabey

+1

그 코드를 본 회사의 직원이 아니길 바랍니다. 그렇지 않으면, 그 회사는 파산 할 것입니다. –

답변

0

최대 999 개의 난수를 생성하기를 원하기 때문입니다.

0

이 경우 롤은 for 루프의 카운터로 사용되어 한계에 도달하면 루프를 중단합니다. 이 예에서 한계는 1000입니다. 롤은 1로 초기화되므로 999 개의 숫자가 생성됩니다.

2
for (int roll =1; roll<1000;roll++){ // is there a reason for roll<1000 
    ++freq[1+rand.nextInt(6)]; 
} 

여기서 999 번 freq 배열의 임의 위치에 +1을 더합니다.

여기서 "진짜"randome이다 rand.nextInt (6) 0과 6 사이의 숫자 다음

생성 다음 주파수 어레이

for(int face=1;face<freq.length;face++){ 
    System.out.println(face + "\t"+freq[face]); 
} 

인쇄 6 참조

깨끗하고 쉬운 코드 :

`public class Hello { 
    public static void main(String[] args) { 

     //Creates an instance of Random and allocates 
     //the faces of the dices on memory 
     Random rand = new Random(); 
     int freq[] = new int[6]; 

     //Rolls the dice 1000 times to make a histogram 
     for (int roll = 0; roll < 1000; roll++) { 
      ++freq[rand.nextInt(6)]; 
     } 

     //Prints the frequency that any face is shown 
     System.out.println("Face \tFrequency"); 
     for (int face = 0; face < freq.length; face++) { 
      System.out.println(face + "\t" + freq[face]); 
     } 
    } 
}` 

이제 주사위면에 6 개의 int가 할당되어 주사위를 굴려 1000 번 굴려서 이해하기 쉽습니다.

+1

기술적으로 그것은 마지막 6 개의 숫자를 인쇄합니다! 나는 왜 7 int가 할당 되었는 지 잘 모르지만 6 개만 사용됩니다 ... –

+0

그래, 네 말이 맞아, 지금 편집 중이 야. –

+0

수정 됨! 미안하다. 또한,이 코드는 codecrap.com에 게시되어야합니다 ... –