动态初始化 + 杨辉三角

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

动态初始化:

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();
    }
  }
}


相关文章
|
8月前
【变态面试题】【两种解法】不能创建临时变量(第三个变量),实现两个数的交换
【变态面试题】【两种解法】不能创建临时变量(第三个变量),实现两个数的交换
59 0
【变态面试题】【两种解法】不能创建临时变量(第三个变量),实现两个数的交换
|
8月前
|
存储 数据处理 C语言
二维数组的初始化
二维数组的初始化
83 1
|
3月前
|
存储 C语言
C语言:一维数组的不初始化、部分初始化、完全初始化的不同点
C语言中一维数组的初始化有三种情况:不初始化时,数组元素的值是随机的;部分初始化时,未指定的元素会被自动赋值为0;完全初始化时,所有元素都被赋予了初始值。
下列给定程序中,函数fun的功能是:根据形参m的值(2≤m≤9),在m行m列的二维数组中存放一组有规律的数据如下图所示,由main函数输出。
下列给定程序中,函数fun的功能是:根据形参m的值(2≤m≤9),在m行m列的二维数组中存放一组有规律的数据如下图所示,由main函数输出。
265 0
|
8月前
|
存储 Java 索引
Java数组的初始化
Java数组的初始化
56 0
|
8月前
|
存储 C语言
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
80 0
|
JavaScript 前端开发
关于js数组循环输出的几个方法以及关于下标不固定循环输出控制的方法
关于js数组循环输出的几个方法以及关于下标不固定循环输出控制的方法
144 0
关于js数组循环输出的几个方法以及关于下标不固定循环输出控制的方法

热门文章

最新文章

下一篇
开通oss服务