如何解决类/驱动程序并知道将输出什么

问题描述 投票:0回答:1

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

java arrays class driver
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.