2015-12-08 3 views
2

Мне нужна помощь, чтобы этот код работал.Закон Java/Demorgan/Булева алгебра/Случайные кости/

Мне нужно написать программу, которая подсчитывает, сколько раз три шестнадцатеричных кубика должны скатываться до тех пор, пока значения, показывающие, не будут разными.

Инструкции:

написать драйвер, который генерирует 10 выходных трасс.

Ниже приведен пример двух выходных прогонов.

2 6 5 

count = 1 

5 3 5 

3 5 3 

3 3 4 

1 3 3 

2 5 4 

count = 5 

Вот мой код до сих пор, я точно не знаю, где и как применять закон DeMorgan к этому.

import java.util.Random; 
public class P4_Icel_Murad_Rolling 
{ 
    public static void main(String[] args){ 
     P4_Icel_Murad_Rolling obj = new P4_Icel_Murad_Rolling(); 
     obj.rolling(10); 
    } 

    public void rolling(int number){ 
     int counter = 0; 
     Random num = new Random(); 
     for(int i = 0; i < number; i++){ 
      int A = num.nextInt(6); 
      System.out.print(A + " "); 
      int B = num.nextInt(6); 
      System.out.print(B + " "); 
      int C = num.nextInt(6); 
      System.out.print(C + " "); 
      if((){ 
      counter++; 
      } 
      System.out.println(); 
     }   
    } 


} 
+0

почему вы должны применить de'morgen минимума здесь? –

+0

@ThisaruGuruge это часть задания –

ответ

0

Попробуйте это: (я не знаю, жарко применять законы де Моргана здесь.)

public static void main(String[] args){ 
    P4_Icel_Murad_Rolling obj = new P4_Icel_Murad_Rolling(); 
    obj.rolling(10); 
} 

public void rolling(int number){ 
    int counter = 1; 
    Random num = new Random(); 
    for(int i = 0; i < number; i++) { 

    int A = num.nextInt(6) + 1; 
    System.out.print(A + " "); 

    int B = num.nextInt(6) + 1; 
    System.out.print(B + " "); 

    int C = num.nextInt(6) + 1; 
    System.out.print(C + "\n"); 

    if(A == B || A == C || B == C) { 
     counter++; 
    } 
    System.out.println("count = " + counter); 
    }   
} 
+1

Спасибо, что работает! –