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? __abd_________
#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());
}
}
ANSWER:
My meter says 30
My neighor's meter says 180
#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());
}
}
ANSWER:
My meter says 60
My neighor's meter says 180