Suppose that we have the two classes below. Trace the execution of the main prog
ID: 3575797 • Letter: S
Question
Suppose that we have the two classes below. Trace the execution of the main program in the Driver class.
public class Driver {
public static void main(String[] args) {
FakeArrayList first = new FakeArrayList(3);
first.set(2, 'a');
first.set(1, 'b');
FakeArrayList second = new FakeArrayList(5);
second.set(4, 'c');
second.set(1, 'd');
}
}
public class FakeArrayList {
private int size;
private char[] data;
public FakeArrayList(int capacity) {
data = new char[capacity];
size = 0;
}
public int getSize() {
return size;
}
public char get(int index) {
return data[index];
}
public void set(int index, char value) {
data[index] = value;
}
}
Asking to Trace them in the Heap and Main Stack Frames
Explanation / Answer
Firstly, FakeArrayList object is created with the name first by using explicit constructor declared as
public FakeArraylIst(int capacity){
}
Then the character array 'data' variable in FakeArrayList class is initialized with the given capacity=3 and size=0;
Then the set(int index,char value) method is called and in the body of that method data[index] = value will be executed with the index 2 and value 'a' .
After that the set(int index,char value) method is called and in the body of that method data[index] = value will be executed with the index 1 and value 'b' .
Then, FakeArrayList object with the name second is created by using explicit constructor declared as
public FakeArraylIst(int capacity){
}
Then the character array 'data' variable in FakeArrayList class is initialized with the given capacity=5 and size=0;
Then the set(int index,char value) method is called and in the body of that method data[index] = value will be executed with the index 4 and value 'c' .
After that the set(int index,char value) method is called and in the body of that method data[index] = value will be executed with the index 1 and value 'd' .
variable in F akeArrayList class is initialized with the given capacity.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.