如何解决类/驱动程序并知道输出结果

时间:2019-12-04 20:09:57

标签: java arrays

我给出了一个驱动程序/类的示例,并且在尝试在Java上找到答案之前,我想先预测一下输出结果(手动)。但是,我在从哪里开始时遇到了麻烦,例如您如何知道哪个变量与什么相关联,并且要遵循一定的顺序(即,该类中的哪个方法先被遵循?)。如果可以,我可以陪我走吗?

public class Q3_Array_3E {
    public Q3_Array_3E() {
        int[][] a = create(6);
        int i = a.length - 1;
        for (int j = 1; j <= i; j++)
            System.out.print(a[i][j] + " ");
        System.out.println();
    }

    int[][] create(int n) {
        int[][] a = new int[n][];
        a[1] = new int[3];
        a[1][1] = 1;
        for (int i = 2; i < a.length; i++) {
            a[i] = new int[i + 2];
            for (int j = 1; j <= i; j++) {
                a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
            }
        }
        return a;
    }
}
// Driver (below)

public class Driver3E {
    public static void main(String[] args) {
        new Q3_Array_3E();
    }
}

假设解决方案为1 4 6 4 1

1 个答案:

答案 0 :(得分:0)

程序的入口点:

public static void main(String[] args) { ... }

发生的第一件事-创建Q3_Array_3E类的实例:

new Q3_Array_3E();

调用new时,您将调用类构造函数:

 public Q3_Array_3E() {
        int[][] a = create(6);
        ...
 }

构造函数的第一行调用create方法:

int[][] create(int n) {
    ...
}

程序的作用:

1)创建二维数组,并用数字填充

null
0 1 0
0 1 1 0
0 1 2 1 0
0 1 3 3 1 0
0 1 4 6 4 1 0

2)遍历此数组的最后一个元素,并打印从1到5的元素

0 1 4 6 4 1 0 -> 1 4 6 4 1