首页 > 解决方案 > 如何解决类/驱动程序并知道输出将是什么

问题描述

我得到了一个驱动程序/类的示例,在尝试在 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

标签: javaarrays

解决方案


程序入口点:

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

推荐阅读