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