CS1 Course Site

CS1 at Oswego

Hypertexknowlogy

Frequently Asked Questions

 
CS1 Course Site  
 
 
Programming Challenge Archive

Incremental Programming
Version 3
 
 
  JavaApplication  -- Card Thing

   // General Information
   // ---------------------------------------------------
  
   // File:  CardThing.java
   // Type:  java application file
   // Date:  Fri Nov 10, 2000
   // Name:  James W. Bremenour
   // Line:  Reads 50 pairs of cards and prints them.
  
   // Application Description
   // ---------------------------------------------------
  
   /*
      The third in a six part series, this version is the
      same as the second version, except it adds an * if 
      neither the Rank or the Suit are the same.
   */
  
   // Required Packages
   // ---------------------------------------------------
  
      import blue.io.*;
      import blue.cards.*;
  
   // Application Class
   // ---------------------------------------------------
  
      class CardThing
      {
         static public void main (String args[])
         {
         // Declare variables
            Card c;
            Card d;
         // Create a loop that will read, and display
         // each pair.
    for (int i = 1;i < 50;i++)
    {
        String cRank = IO.readString();
        String cSuit = IO.readString();
        c = new Card(cRank, cSuit);
        String dRank = IO.readString();
        String dSuit = IO.readString();
        d = new Card(dRank, dSuit);
        c.print();
        d.print();
                checkRanks(c, d);
                checkSuits(c, d);
                checkDiff(c, d);
        IO.println();
    }
         }
         static private void checkRanks(Card c, Card d)
         {
           if (c.rank() == d.rank())
           {
              IO.print("     R");
           }
         }
         static private void checkSuits(Card c, Card d)
         {
           if (c.suit() == d.suit())
           {
              IO.print("     S");
           }
         }
          static private void checkDiff(Card c, Card d)
          {
      if (c.suit() != d.suit())
      {
          if (c.rank() != d.rank())
          {
      IO.print("     *");
          }
      }
          }
      }
  
   // Demo
   // ---------------------------------------------------
  
   /*
   $ java CardThing < ../CardThing.data
   (2,S)(K,S)     S
   (K,D)(K,H)     R
   (3,C)(4,D)     *
   (Q,H)(Q,S)     R
   (7,D)(J,D)     S
   (2,H)(2,D)     R
   (7,H)(2,S)     *
   (9,S)(10,C)     *
   (J,C)(J,S)     R
   (Q,S)(6,H)     *
   (6,H)(7,D)     *
   (6,C)(6,S)     R
   (A,D)(2,C)     *
   (K,C)(J,H)     *
   (J,S)(10,S)     S
   (J,S)(10,C)     *
   (9,D)(9,H)     R
   (5,S)(J,C)     *
   (5,H)(6,H)     S
   (9,D)(4,C)     *
   (8,C)(8,S)     R
   (9,D)(10,S)     *
   (Q,H)(2,H)     S
   (5,C)(6,C)     S
   (9,D)(A,H)     *
   (6,S)(K,H)     *
   (K,D)(10,H)     *
   (3,C)(4,S)     *
   (5,H)(Q,D)     *
   (J,C)(J,D)     R
   (2,H)(2,D)     R
   (7,D)(3,S)     *
   (9,S)(9,C)     R
   (J,C)(J,S)     R
   (7,S)(6,H)     *
   (6,C)(7,D)     *
   (7,S)(6,S)     S
   (A,D)(A,C)     R
   (K,D)(J,H)     *
   (J,C)(10,S)     *
   (J,S)(J,C)     R
   (9,D)(5,D)     S
   (5,C)(J,C)     S
   (5,H)(6,H)     S
   (9,D)(4,H)     *
   (8,C)(8,D)     R
   (9,D)(6,S)     *
   (Q,H)(2,C)     *
   (5,S)(6,C)     *
   $ 
   */