Цикл не ведет себя так, как я ожидаю

Код, который я написал, компилируется, но не дает ожидаемого результата. Он заканчивается до того, как я ввел все свои входные данные, и не дает правильного результата. Любая идея, где ошибка (ы)?

Вот основная программа:

public static void main(String[]args)
{
    Scanner keyboard = new Scanner(System.in);
    String coinFlip;
    int tossNumber, numberOfHeads, numberOfTails;
    float percHeads, percTails;
    tossNumber = 1;
    numberOfHeads = 0;
    numberOfTails = 0;

    while(tossNumber <= 8)
    {
        System.out.println("Please toss your coin and enter the side    showing.");
        System.out.println("h = heads, t = tails");
        coinFlip = keyboard.next();

        if(coinFlip.equals("h") || coinFlip.equals("t"))
        {
            if(coinFlip.equals("h"))
            {
                System.out.println("Thank you! Please toss your coin again.");
                tossNumber = tossNumber + 1;
                numberOfHeads = numberOfHeads + 1;
            }
            else

                System.out.println("Thank you! Please toss your coin again");
                tossNumber = tossNumber + 1;
                numberOfTails = numberOfTails + 1;

        }
        else
            System.out.println("Please enter a \"h\" or \"t\".");
    }

1 ответ

Все, что я сделал, это добавил {} на ваш else и я получил это отлично 8 раз, надеюсь, вот и все.

import java.util.Scanner;

public class MC_GAMAD {

    public static void main(String[] args) {

        Scanner keyboard = new Scanner(System.in);
        String coinFlip;
        int tossNumber, numberOfHeads, numberOfTails;
        float percHeads, percTails;
        tossNumber = 1;
        numberOfHeads = 0;
        numberOfTails = 0;

        while (tossNumber <= 8) {
            System.out
                    .println("Please toss your coin and enter the side    showing.");
            System.out.println("h = heads, t = tails");
            coinFlip = keyboard.next();

            if (coinFlip.equals("h") || coinFlip.equals("t")) {
                if (coinFlip.equals("h")) {
                    System.out
                            .println("Thank you! Please toss your coin again.");
                    tossNumber = tossNumber + 1;
                    numberOfHeads = numberOfHeads + 1;
                } else {
                    System.out
                            .println("Thank you! Please toss your coin again");
                    tossNumber = tossNumber + 1;
                    numberOfTails = numberOfTails + 1;
                }

            } else {
                System.out.println("Please enter a \"h\" or \"t\".");
            }

        }

    }
}
Другие вопросы по тегам