import java.io.PrintWriter;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Vector;

/**
 * Some experiments to better understand arrays.
 */
public class ArrayStuff
{
  public static void main(String[] args)
  {
    // Prepare input and screenput.
    BufferedReader keyboard = 
      new BufferedReader(new InputStreamReader(System.in));
    PrintWriter screen = new PrintWriter(System.out, true);

    int[] vals = { 1, 2, 3 };
    float[] floats = new float[10];
    int[] grades = { 90, 80, 123, 15, 45 };

    for (int i = 0; i < grades.length; i++) {
      screen.println("Grade " + (i+1) + " is " + grades[i] + ".");
    }

    for (int i = 0; i < grades.length; i++) {
      grades[i] = grades[i] * 5 / 4;
    }

    for (int i = 0; i < grades.length; i++) {
      screen.println("Grade " + (i+1) + " is now " + grades[i] + ".");
    }

    screen.println("****************************************");
    Object[] stuff = new Object[10];
    stuff[0] = "Alex";
    stuff[1] = new Rational(2,6);
    stuff[8] = screen;
    stuff[6] = new Float(23.56);
    stuff[4] = grades;
    stuff[5] = stuff;
    for (int i = 0; i < stuff.length; i++) {
      screen.println("stuff[" + i + "]: " + stuff[i]);
    }

    screen.println("****************************************");
    Vector rats = new Vector();
    rats.add(new Rational("1/2"));
    rats.add(new Rational("23/12"));
    rats.add("Alex");
    ratHelper(rats, screen);

    // That's it, we're done.
    System.exit(0);
  } // main(String[])

  /** 
   * Procedure:
   *   ratHelper
   * Parameters:
   *   rats, a vector of rational numbers.
   *   screen, a PrintWriter used to display output.
   * Purpose:
   *   Prints the decimal equiv. of each member of rats to the screen.
   */
  public static void ratHelper(Vector rats, PrintWriter screen)
  {
    for (int i = 0; i < rats.size(); i++) {
      screen.println(((Rational) rats.get(i)).doubleValue());
    } // for
  } // ratHelper(Vector, PrintWriter)
} // class ArrayStuff

