2016-11-22 3 views
-1

Моя программа не работает! Мне нужно, чтобы он случайно бросил две кости, подсчитал количество рулонов до тех пор, пока не достигнут змеиных глаз (2).
Я чувствую, что я близок, но моя программа будет показываться только один раз, а не много раз, пока не будут свернуты 2.Выполните цикл Java-языка?

Выход, который я получаю, считается бесконечной петлей одного рулона!

import java.io.*; 

public class PA 
{ 
    public static void main (String [] args) 
    { 
     int count = 0; 
     int die1 = (int)(Math.random()*6)+1; 
     int die2 = (int)(Math.random()*6)+1; 
     int sumDie = die1+die2;  
     do 
     { 
      System.out.println ("You rolled a:" + die1); 
      System.out.println ("You rolled a:" + die2); 
      System.out.println ("This is roll number:" + count); 
      count = count + 1; 
     } 
     while (sumDie > 2); 
     { 
      System.out.println ("You rolled:" + die1); 
      System.out.println ("You rolled:" + die2); 
      System.out.println ("This is roll number:" + count): 
      count++ 
     } 
     if (die1 == 1 && die2 == 1); 
     System.out.println ("Congratulations...Snake Eyes"); 
    } 
} 
+0

Покажите нам, что у вас есть. Пожалуйста, прочитайте, как создать [mcve]. –

+0

Где находится фактический код? :) –

+0

Извинения были проблемы с вставкой скриншот ... один момент, пожалуйста! –

ответ

1

Вам необходимо переместить код, переворачивающий кости внутри цикла. И этот блок кода после этого не нужен. И что последний if - сначала он ничего не делает (не имеет тела) из-за полуколонии. Во-вторых, не требуется, так как условие while гарантирует, что это так.

public static void main (String [] args) 
{ 
    int count = 0; 
    int die1, die2; 
    do 
    { 
     // New roll each time 
     die1 = (int)(Math.random()*6)+1; 
     die2 = (int)(Math.random()*6)+1; 

     count = count + 1; 
     System.out.println ("You rolled a:" + die1); 
     System.out.println ("You rolled a:" + die2); 
     System.out.println ("This is roll number:" + count); 
    } while (die1 + die2 > 2); 

    System.out.println ("Congratulations...Snake Eyes"); 
} 
Смежные вопросы