1 public class code1 { 2     public static void main(String[]args) { 3         int[][] x = new int[6][6]; 4         for (int i = 0; i < x.length; i++) { 5             x[i][0] = 1; 6             x[i][i] = 1; 7  8         } 9         for (int i = 2; i < x.length; i++) {10             for (int j = 1; j < i; j++) {11                 x[i][j] = x[i - 1][j - 1] + x[i - 1][j];12             }13 14         }15 16 17         for (int i = 0; i < x.length; i++) {18             for (int j = 0; j < i + 1; j++) {19                 System.out.printf("%-3d",x[i][j]);20             }21             System.out.println();22         }

题目:杨辉三角的变形,由原来的等腰三角形变成直角三角形,但规律还是没有发生改变,所以我们还是按照原来的题目做。

根据题目分析发现三角形的第一列和每一行的最后一个都是数值1,那我们根据这个使用循环来把这些地方的值赋值为1;

 for (int i = 0; i < x.length; i++) {          x[i][0] = 1;              x[i][i] = 1;
第二个那就是除了刚才的那些地方,其他的位置我们要赋值,根据规律,借用循环来完成。用i来表示行数,用J来表示每一行的下标,也可以了解为例数。
之所以i是从2开始的是因为前面俩行是一个只有一个数,还有一个是只有2个数,根据题意知,他们都是1,那也就是说他们不参与我们这个数的计算所以我们从2开始循环。
而i是每一行的下标,因为前面的每一行的首个和最后一个是1,那么我们就可以不要把这些数进行计算。
for (int i = 2; i < x.length; i++) {             for (int j = 1; j < i; j++) {                x[i][j] = x[i - 1][j - 1] + x[i - 1][j];(这行代码就是杨辉三角数与数之间的关系)           }
最后我们已经把这个二维数组已经搞好了,那接下来我们应该把它们给输出来,同样也是借助循环来输出,这里不能借助foreach来,因为这个输出的格式有要求,所以我们输出格式化。
 for (int i = 0; i < x.length; i++) {           for (int j = 0; j < i + 1; j++) {                System.out.printf("%-3d",x[i][j]);
}
第二个循环为什么要加一呢,我们来看,在第一个循环中i是从0到5,也就是有6行,如果J小于i的话 ,那我们的J的取值范围就是0到4,i是能取到5,但,J是不能取到的,因为是小于不能等于,
所以我们在i的基础上加上1,就可以了。
这是我关于这道题的想法。