Java Introductory Lab

Part 1: Compiling and running a program

1. Create the program Prog1.java (capitalization is important) in your favorite text editor, and enter in the following program.
import java.util.*;
class Prog1
{

  /* This space intentionally left blank.
     Part 2 of this lab should be inserted
     here when you get there. */

  public static void main(String args[])
  {

    // Create a list of numbers
    int arraySize = 10;
    ArrayList<Integer> numArray = new ArrayList<Integer>(arraySize);

    // Fill the array with random integers
    int i;
    for (i=0; i < arraySize; i++)
      numArray.add((int)(Math.random()*50));

    // Display the integers to the screen.
    for (Integer number : numArray)
      System.out.print(number + " ");
    System.out.println();
  }
}

2. Compile the program by typing "javac Prog1.java" at a command prompt. Debug if you have any compiler errors.

3. Type "ls" to look at your files. You should see Prog1.java, which is the source code. You should also see Prog1.class, which is the bytecode produced by the compiler.

4. Run your program by typing "java Prog1" (do not include the .class at the end of it). This will run your program. What does it do?

Part 2: Adding class methods to the class Prog1

1. The following code adds a method (function associated with a class) to your class Prog1. Add the following code in the spot indicated by the comments in the above program.
private static int addup(ArrayList numbers)
{
  int total=0;
  for (Integer number : numbers)
      total += number;
  return total;
}

2. Add code to the main function to call addup and display the answer to the screen. Utilize the fact that this is a static method.

3. Add another method to the class to sort the numbers in the array. Add code to main to display the sorted array to the screen.
 

Part 3: Creating your own instantiable classes

1. In your text editor, start a new program called Prog2.java. Insert the following code:

import java.util.*;
class NumberList
{
  private ArrayList<Integer> numArray;
  private int arraySize = 10;

  public NumberList()
  {
    numArray = new ArrayList<Integer>(arraySize);
    for (int i=0; i < arraySize; i++)
      numArray.add((int)(Math.random()*50));
  }

  public void displayNumbers()
  {
    for (Integer number : numArray)
      System.out.print(number + " ");
    System.out.println();
  }
}
 
class Prog2
{
  public static void main(String args[])
  {
    NumberList list1 = new NumberList();
    NumberList list2 = new NumberList();
    NumberList list3 = new NumberList();

    list1.displayNumbers();
    list2.displayNumbers();
    list3.displayNumbers();
  }
}

2. Add a public method to the class NumberList to sort the numbers. Add code to main to display the sorted numbers when you run your program.

3. Add a second constructor to NumberList which allows the array size to be set.

4. Change main so that instead of three different variables (list1, list2, list3), an array of NumberList is created and used.

5. Add a static variable (class variable) to the class NumberList which keeps track of how many NumberList objects have been instantiated. Update it appropriately in the constructor. Provide a static method to print out the value of this variable.