code: import java.util.*;
  
  public class PenneysGame {
  
      public static void main(String[] args) {
          Random rand = new Random();
  
          String compChoice = "", playerChoice;
          if (rand.nextBoolean()) {
  
              for (int i = 0; i < 3; i++)
                  compChoice += "HT".charAt(rand.nextInt(2));
              System.out.printf("Computer chooses %s%n", compChoice);
  
              playerChoice = prompt(compChoice);
  
          } else {
  
              playerChoice = prompt(compChoice);
  
              compChoice = "T";
              if (playerChoice.charAt(1) == 'T')
                  compChoice = "H";
              compChoice += playerChoice.substring(0, 2);
              System.out.printf("Computer chooses %s%n", compChoice);
          }
  
          String tossed = "";
          while (true) {
              tossed += "HT".charAt(rand.nextInt(2));
              System.out.printf("Tossed %s%n" , tossed);
              if (tossed.endsWith(playerChoice)) {
                  System.out.println("You win!");
                  break;
              }
              if (tossed.endsWith(compChoice)) {
                  System.out.println("Computer wins!");
                  break;
              }
          }
      }
  
      private static String prompt(String otherChoice) {
          Scanner sc = new Scanner(System.in);
          String s;
          do {
              System.out.print("Choose a sequence: ");
              s = sc.nextLine().trim().toUpperCase();
          } while (!s.matches("[HT]{3}") || s.equals(otherChoice));
          return s;
      }
  }
  