标签:
import java.util.Scanner;
class Array2Test3 {
public static void main(String[] args) {
// 创建键盘录入对象
Scanner sc = new Scanner(System.in);
// 这个n的数据来自于键盘录入。
System.out.println("请输入一个数据:");
int n = sc.nextInt();
// 定义二维数组
int[][] arr = new int[n][n];
// 给这个二维数组任何一行的第一列和最后一列赋值为1
for (int x = 0; x < arr.length; x++) {
arr[x][0] = 1; // 任何一行第1列
arr[x][x] = 1; // 任何一行的最后1列
}
// 按照规律给其他元素赋值
// 从第三行开始,每一个数据是它上一行的前一列和它上一行的本列之和。
for (int x = 2; x < arr.length; x++) {
// 这里如果y<=x是有个小问题的,就是最后一列的问题
// 所以这里要减去1
// 并且y也应该从1开始,因为第一列也是有值了
for (int y = 1; y <= x - 1; y++) {
// 每一个数据是它上一行的前一列和它上一行的本列之和。
arr[x][y] = arr[x - 1][y - 1] + arr[x - 1][y];
}
}
//遍历这个二维数组。
/*
for(int x=0; x<arr.length; x++) {
for(int y=0; y<arr[x].length; y++) {
System.out.print(arr[x][y]+"\t");
}
System.out.println();
}
*/
//这个时候,内循环的变化必须和九九乘法表类似
for (int x = 0; x < arr.length; x++) {
for (int y = 0; y <= x; y++) {
System.out.print(arr[x][y] + "\t");
}
System.out.println();
}
sc.close();
}
}
标签:
原文地址:http://my.oschina.net/u/2001589/blog/501155