#java
#java
Вопрос:
Мне нужна помощь, чтобы на выходе также отображалось количество бросков, поскольку теперь он показывает только броски, показывающие головы. Решка, орел, решка и так далее, пока не будет три орла, но предполагается, что он также показывает количество подбрасываний.
import java.util.*;
public class Coinrolling {
public static void main(String[] args) {
Random rand = new Random();
boolean noConsecutive = true;
int flipCount = 0;
int randomFlip;
while (noConsecutive) {
randomFlip = rand.nextInt(2) 1;
if (randomFlip == 1) {
System.out.println("heads");
flipCount ;
}else {
System.out.println("tail");
flipCount= 0;
}
if (flipCount == 3) {
noConsecutive = false;
}
}
}
}
Комментарии:
1. Вам будет проще получить справку, если вы пометите язык, на котором пишете
2. как бы сделать это вручную на бумаге. У вас был бы счетчик, значение которого вы бы увеличивали с каждым подбрасыванием. Теперь у вас может быть аналогичный счетчик и при каждом подсчете выводить счетчик или, наконец, когда игра закончится, сразу выводить окончательный подсчет.
Ответ №1:
Вы можете добавить tossCount
переменную тем же способом, который у вас уже есть flipCount
. Вы также можете упростить while
условие цикла, проверив flipCount
:
Random rand = new Random();
int flipCount = 0;
int tossCount = 0;
while (flipCount != 3) {
int randomFlip = rand.nextInt(2) 1;
tossCount ;
if (randomFlip == 1) {
System.out.println("heads");
flipCount ;
} else {
System.out.println("tail");
flipCount = 0;
}
}
System.out.print("tossed " tossCount " times");
Комментарии:
1. я пытался использовать этот код, но количество подбрасываний, похоже, всегда отображается как 3, несмотря ни на что.
2. Вероятность того, что вы получите ровно 3 подбрасывания, равна
0.5^3 = 1/8
. У меня только что было 24 подбрасывания.