动态初始化 + 杨辉三角

简介: 动态初始化 + 杨辉三角

动态初始化:

public class TwoDimensionalArray {
  public static void main(String[] args) {
    /*
     动态创建下面二维数组,并输出
     i = 0: 1
     i = 1: 2 2
     i = 2: 3 3 3
     一共有三个一维数组,每个一维数组元素不一样
     */
    int[][] arr = new int[3][]; // 创建 二维数组
    for(int i =0 ; i < arr.length ; i++) {
      // 给每一个一维数组开空间 new
      //  如果没有给一维数组 new 开空间,那么 arr[i] 就是 null
      arr[i] = new int[i + 1];
      for(int j = 0 ; j < arr[i].length ; j++) {
        arr[i][j] = i + 1;
      }
    }
    for(int i = 0; i < arr.length ; i++) {
      for(int j = 0; j < arr[i].length; j++) {
        System.out.print(arr[i][j] + " ");
      }
      System.out.println();
    }
  }


杨辉三角

public class YangHui {
  public static void main(String[] args) {
    //打印一个十行的杨辉三角
    /*
    1
    1 1
    1 2 1
    1 3 3 1
    1 4 6 4 1
    1 5 10 10 5 1
     */
    int[][] yangHui = new int[10][];// 十行杨辉三角所以有十个一维数组
    for(int i = 0; i < yangHui.length; i++) {
      // 给每个一维数组开辟空间
      yangHui[i] = new int[i + 1];
      for(int j = 0; j < yangHui[i].length; j++) {
        //每一行的第一个元素和最后一个元素都是1
        if(j == 0 || j == yangHui[i].length - 1) {
          yangHui[i][j] = 1;
        } else {// 不是第一个和最后一个就是中间的
          yangHui[i][j] = yangHui[i - 1][j] + yangHui[ i - 1][j - 1];
        }
      }
    }
    for( int i = 0 ; i < yangHui.length ; i++) {
      for(int j = 0 ; j < yangHui[i].length ; j++) {
        System.out.print(yangHui[i][j] + " ");
      }
      System.out.println();
    }
  }
}


相关文章
|
7月前
【变态面试题】【两种解法】不能创建临时变量(第三个变量),实现两个数的交换
【变态面试题】【两种解法】不能创建临时变量(第三个变量),实现两个数的交换
53 0
【变态面试题】【两种解法】不能创建临时变量(第三个变量),实现两个数的交换
|
6月前
|
存储 Java 索引
JavaSE——数组(1/2)-数组的定义和访问(静态初始化数组、动态初始化数组、案例练习)
JavaSE——数组(1/2)-数组的定义和访问(静态初始化数组、动态初始化数组、案例练习)
45 7
下列给定程序中,函数fun的功能是:根据形参m的值(2≤m≤9),在m行m列的二维数组中存放一组有规律的数据如下图所示,由main函数输出。
下列给定程序中,函数fun的功能是:根据形参m的值(2≤m≤9),在m行m列的二维数组中存放一组有规律的数据如下图所示,由main函数输出。
260 0
|
7月前
|
算法 Java 定位技术
嵌套for循环的基础直角三角形——四个方向打印
嵌套for循环的基础直角三角形——四个方向打印
141 0
|
7月前
|
存储 C语言
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
76 0
|
7月前
|
存储 Java 索引
【Java数组】数组定义 | 初始化赋值 | 数组练习题
【Java数组】数组定义 | 初始化赋值 | 数组练习题