Array Trace Exercises:

#1:

int[][] foo = new int[2][3];
for (int i = 0; i < foo.length; i++)
{
      for (int j = 0; j < foo[i].length; j++)
     {
          foo[i][j] = i*j;
     }
}

What will be the values in the array when this code completes?

#2:

String[] foo = {"a","b","d"};
String result = "";
for (String value : foo){
  result = result + value;}

What does result hold? __________________

#3: Consider these 2 classes. What prints when Main is run?

public class ParkingMeter{
   private int timeLeft = 0;
   private String address = "28 James Street";
   public ParkingMeter(){}
   public ParkingMeter(int a, String loc){
      this.timeLeft = a;
      this.address = loc;}
   public boolean add(int a){
      if (a==25){
        timeLeft = timeLeft +30;
        return true;}
     else {
        return false;}
   }
   public int getTimeLeft()
   {return timeLeft;}}

------

public class UseMeter
{public static void main()
{
   ParkingMeter me = new ParkingMeter();
   ParkingMeter neighbor = new ParkingMeter(150,"29 James Street");
   boolean worked = me.add(25);
   if (!worked)
      {me.add(25);}
   neighbor.add(25);
   System.out.println("My meter says " + me.getTimeLeft());
   System.out.println("My neighor's meter says "+ neighbor.getTimeLeft());
}
}

#4: Consider these 3 classes. What prints when Main is run?

public class ParkingMeter{
   protected int timeLeft = 0;
   private String address = "28 James Street";
   public ParkingMeter(){}
   public ParkingMeter(int a, String loc){
      this.timeLeft = a;
      this.address = loc;}
   public boolean add(int a){
      if (a==25){
        timeLeft = timeLeft +30;
        return true;}
     else {
        return false;}
   }
   public int getTimeLeft()
   {return timeLeft;}}
public class ParkingMeter10perHour extends ParkingMeter{
   public boolean add(int a){
      if (a==10){
        timeLeft = timeLeft +60;
        return true;}
     else {
        return false;}
   }}

------

public class UseMeter
{public static void main()
{
   ParkingMeter me = new ParkingMeter10perHour();
   ParkingMeter neighbor = new ParkingMeter(150,"29 James Street");
   boolean worked = me.add(25);
   if (!worked)
      {me.add(10);}
   neighbor.add(25);
   System.out.println("My meter says " + me.getTimeLeft());
   System.out.println("My neighor's meter says "+ neighbor.getTimeLeft());
}
}