0

main メソッドよりも複雑なメソッドでコーディングを始めたところです。3枚のコインでレースをするという課題が与えられました。この順番で先に表が2回、裏が2回出た方のコインが勝ちです。どのコインが勝つかを判断するために if else ステートメントをコーディングしましたが、どちらの if ステートメントも実行されません。if else ステートメントまたは他の場所でエラーが発生した場合は教えてください。また、他のメソッドを含む他のコード プログラムも必要です。

public class FlipRace
{



public static void main (String[] args)
   {
  final int GOALHEAD = 2;
  final int GOALTAIL = 2;
  int count1 = 0, count2 = 0, count3 = 0, count10 = 0, count20 = 0, count30 = 0;

  // Create three separate coin objects
  Coin coin1 = new Coin();
  Coin coin2 = new Coin();
  Coin coin3 = new Coin();

  while (count1 <= GOALHEAD && count10 <= GOALTAIL || count2 <= GOALHEAD && count20 <= GOALTAIL || count3 <= GOALHEAD && count30 <= GOALTAIL)
  {
     coin1.flip();
     coin2.flip();
     coin3.flip();

     // Print the flip results (uses Coin's toString method)
     System.out.print ("Coin 1: " + coin1);
     System.out.println ("   Coin 2: " + coin2);
     System.out.println ("      Coin 3: " + coin3);

     // Increment or reset the counters
     if (coin1.isHeads())
        count1++;
     else
        count10++;
     if (coin2.isHeads())
        count2++;
     else
        count20++;
     if (coin3.isHeads())
        count3++;
     else
        count30++;
  }

  // Determine the winner
  if (count1 == GOALHEAD && count10 == GOALTAIL)
     System.out.println ("Coin 1 wins!");

  else if (count2 == GOALHEAD && count20 == GOALTAIL)
   System.out.println ("Coin 2 wins!");

  else if (count3 == GOALHEAD && count30 == GOALTAIL)
   System.out.println ("Coin 3 wins!");

       else
        System.out.println ("It's a TIE!");


 }
}

ここに私の出力があります:

    Coin 1: Heads   Coin 2: Heads
      Coin 3: Tails
Coin 1: Heads   Coin 2: Heads
      Coin 3: Heads
Coin 1: Heads   Coin 2: Tails
      Coin 3: Heads
Coin 1: Heads   Coin 2: Heads
      Coin 3: Tails
Coin 1: Heads   Coin 2: Tails
      Coin 3: Heads
It's a TIE!// this message comes up every time because something is wrong
4

2 に答える 2