2013-03-01 2 views
0

두 개의 배열을로드하려고합니다. 압연 주사위의 가능한 결과 (1-6)를 나타냅니다. 첫 번째 배열은 첫 번째 주사위 결과와 두 번째 배열로로드됩니다 ..... 나는 주사위를 굴린 시간을 관리하는 한 루프에서 두 배열을 유지하는 데 어려움을 겪고 있으며 중복 결과를 생성하지 않습니다. 내가 각 롤 사이에 다시 시드해야 할 필요가 있다고 생각하면 어떤 도움을 주시면 감사하겠습니다.임의의 숫자를 생성하고 싶습니다. 압연 주사위 시뮬레이션

전류 출력 : 주사위 한 5 개 주사위 2 : 5 개 주사위 한 3 개 주사위 2 : 3 개 주사위 한 1 개 주사위 2 : 1 개 주사위 한 6 개 주사위 2 : 6 개 주사위 한 6 개 주사위 두 6 개 주사위 하나 주사위 2 개의 2 개 주사위 하나 5 개 주사위 2 : 5 개 주사위 하나 주사위 2 개의 2 개 주사위 한 1 개 주사위 2 : 1 개 주사위 한 1 개 주사위 2 : 1 2 롤 항상 첫 번째와 일치합니다.

다음과 같이 작성했습니다.

int min = 1; 
    int max = 6; 
    for (int i = 0; i < 10; i++) 
    { 
     Random rand; 
     rand = new Random(); 

     int randomNumber = rand.nextInt(max) + min; 
     diceOne[i] = randomNumber; 
     System.out.print("Dice one: "); 
     System.out.print(diceOne[i] + " "); 


     int randomNumber2 = rand.nextInt(max) + min; 

     diceTwo[i] = randomNumber2; 
     System.out.print("Dice two: "); 
     System.out.print(diceOne[i]); 
     System.out.println(); 
+0

왜 모든 루프에서 RNG를 다시 초기화 하시겠습니까? – Blender

답변

0

두 번 모두 diceOne[i] 인 것처럼 보입니다.

1

주사위 두 개는 사용하지 않습니다. 아래 코드를 시도하십시오

int randomNumber = rand.nextInt(max) + min; 
      diceOne[i] = randomNumber; 
      System.out.print("Dice one: "); 
      System.out.print(diceOne[i] + " "); 


      int randomNumber2 = rand.nextInt(max) + min; 

      diceTwo[i] = randomNumber2; 
      System.out.print("Dice two: "); 
      System.out.print(diceTwo[i]); //System.out.print(diceOne[i]); 
      System.out.println(); 
+0

와우, 고맙습니다. 프로그램을 배우는 동안 때로는 문제를 해결하는 데 가장 쉬운 문제가 저에게 가장 긴 시간을 줄 수 있다는 것을 깨달았습니다. –

관련 문제