
/**
 * ArrayTest.java
 *
 *
 * Created: Thu Aug 29 22:35:32 2002
 *
 * @author <a href="mailto:Bina Ramamurthy "</a>
 * @version
 */

import java.util.*;

public class ArrayTest {
   public static void main (String[] args) {
      
      int num; // variable
      num = 12; // assign
      System.out.println("Num" + num); //print

      int[] ary; // declare object reference
      ary = new int[4]; // instantiate
      ary[2] = 45;  //modify, add to array
      num = ary[2]; // access array
      num = ary.length; //access length attribute

      // process
      for ( int i = 0; i < ary.length; i++) {
	 System.out.println( " " + ary[i]);
      } // end of for ()

      // OO array with space maintained by the runtime system
      ArrayList aList; // declare object reference
      aList = new ArrayList(); // instantiate
      
      for ( int j = 0; j < ary.length; j++) {
	 aList.add(new Integer(j));
      } // end of for ()
      
      num = aList.size();
      System.out.println(aList);

      // illustarting the use of iterator
      ListIterator l = aList.listIterator();
      while ( l.hasNext()) {
	 System.out.println(l.next());
      } // end of while ()
      

     // two dimensional array

      int[][] array2;
      array2 = new int[4][5];
      for ( int i = 0; i < 4; i++  ) {
	 for ( int j = 0; j <5; j++) {
	    array2[i][j] = i*j;
	 } // end of for ()
	 
      } // end of for ()

      // passing array as a parameter
      System.out.println ("Sum = " + sumArray(array2));


      
   } // end of main ()

   static int sumArray( int[][] twoDimArray)
   {  
      int sum =0;

      for ( int i = 0; i < twoDimArray.length; i++) {
	 for ( int j = 0; j < twoDimArray[i].length; j++) {
	    sum = sum + twoDimArray[i][j];
	 } // end of for ()
	 
      } // end of for ()
      return sum;
   }
}// ArrayTest
