2016-04-30 2 views
-1

Итак, теперь я отредактировал код, который подсчитывает количество головок в строке, когда есть четыре И количество головок в строке, когда их пять. У меня есть следующий код, который работает правильно, но он подсчитывает только число четырех, а не число пяти. Может кто-нибудь мне помочь? Я копирую и вставляю результаты, которые я получаю, когда трасса работает также после моего кода.Coin Flip Code - попытка подсчета строки out put

public class Flip { 

    public static void main(String[] args) 
    { 
     final int FLIPS = 100; 
    int heads = 0; 
    int consecCountfour = 0; 
    int consecCountfive = 0; 
    System.out.println("Trail Tosses:"); 
    for (int i = 1; i<= FLIPS; i++) 
    { 
    if (Math.random() < 0.5) { 
    System.out.print("h"); 
    heads++; 
    } 
    else {    
     System.out.print("t"); 
    if (heads == 4) { consecCountfour++; } 
    heads = 0; 

    if (heads == 5) { consecCountfive++; } 
    heads = 0; 
    } 



    } 
    System.out.println("\n"); 
    System.out.print("Count hhhh:"+ consecCountfour); 
System.out.print("  Count hhhhh:" + consecCountfive); 
    } 
} 
+3

'Int голова = 0;' монета приходит как главы: 'глав ++,' – Laurel

+1

Вам нужно несколько переменных, чтобы считать с первым –

+0

, как я мог бы сделать ГВ и ц счетно, если это имеет смысл? что я должен был бы написать, чтобы сделать мои результаты строкой для подсчета – Alex

ответ

0

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

final int FLIPS = 100; 
int heads = 0; 
int consecCount = 0; 
for (int i = 1; i<= FLIPS; i++) 
{ 
    if (Math.random() < 0.5) { 
     System.out.print("h"); 
     heads++; 
    } 
    else {    
     System.out.print("t"); 
     if (heads == 4 || heads == 5) { consecCount++; } 
     heads = 0; 
    } 
} 
System.out.print(consecCount); 
+0

благодарю вас, что этот код хорошо соответствует! как я мог напечатать количество последовательных «hhhh» и «hhhhh»? – Alex

+0

@Alex соберите h и t на две разные строки, затем используйте значение .length() для значения. –

+0

@Alex Переменные могут быть немного вводящими в заблуждение, но headCount подсчитывает количество «hhhh» и «hhhhh». Используйте функцию печати с переменной headCount, чтобы отобразить число четырех и пяти последовательных переворотов. – Clint

Смежные вопросы