Exercise : reference mystery practice-it

The reference mystery problem on the next slide depends on the following definition of a BasicPoint class:

public class BasicPoint {
    int x;
    int y;

    public BasicPoint(int initialX, int initialY) {
        x = initialX;
        y = initialY;
    }
}	

Reference mystery, continued practice-it

The following program produces 5 lines of output. Write each line of output as it would appear on the console.

   
public class ReferenceMystery {
    public static void main(String[] args) {
        BasicPoint p = new BasicPoint(11, 22);
        int[] a = {33, 44};
        int n = 55;

        System.out.println(p.x + "," + p.y + " " + Arrays.toString(a) + " " + n); // 11,22 [33, 44] 55[^0-9,]+
        mystery(p, a, n);                                                         // 44,22 [44, 77] 0[^0-9,]+
        System.out.println(p.x + "," + p.y + " " + Arrays.toString(a) + " " + n); // 44,22 [44, 77] 55[^0-9,]+

        a[0] = a[1];
        p.x = p.y;

        mystery(p, a, n);                                                         // 55,22 [88, 77] 0[^0-9,]+
        System.out.println(p.x + "," + p.y + " " + Arrays.toString(a) + " " + n); // 55,22 [88, 77] 55[^0-9,]+
    }

    public static int mystery(BasicPoint p, int[] a, int n) {
        n = 0;
        a[0] = a[0] + 11;
        a[1] = 77;
        p.x = p.x + 33;
        System.out.println(p.x + "," + p.y + " " + Arrays.toString(a) + " " + n);
        return n;
    }
}