java数组学习:使用二维数组输出杨辉三角
2018-11-19 21:41
302 查看
[code]import java.util.Scanner; /* 输出二维数组"杨辉三角" i\j 0 1 2 3 4 5 0 1 1 1 1 2 1 2 1 3 1 3 3 1 4 1 4 6 4 1 5 1 5 10 10 5 1 .... 分析一下数组每个元素YangHui[i][j]的规则: 1,行的数量等于每行的元素数量, 行数=列数 2,每一行的第1个元素和末尾元素都是1 3,从第3行开始,“首个元素和末个元素之间”的每一个元素(i>1,0<j<i): YangHui[i][j] = YangHui[i-1][j] + YangHui[i-1][j-1]; 也就是:本元素=上一行本列元素+上一行前一列元素 */ import java.util.Scanner; public class YangHui { public static void main(String[] args) { System.out.println("请输入__行内的杨辉三角"); Scanner s =new Scanner(System.in); int num=s.nextInt(); //1.初始化杨辉三角数组 int[][] YangHui=new int[num][]; //初始化二维数组横向长度 for(int i=0;i<YangHui.length;i++) { //错误点:YangHui[i]=new int[YangHui[i].length];因为其竖向长度未定义,却引用 //错误点: YangHui[i]=new int[i]; //需要指定数组的长度,数组初始从0开始,并非数组长度值,需+1 YangHui[i]=new int[i+1]; //初始化二维数组竖向长度 //2.数组赋值 for(int j=0;j<YangHui[i].length;j++) { //注意j<i的条件,因为尾巴的数值为1 切勿赋值覆盖 //j>0,因为首的数值为1,切勿赋值覆盖 //i>1,因为i=0&i=1,没有中间值 YangHui[i][0]=YangHui[i][i]=1; //定义数组首尾的值为1 if(i>1&&j>0&&j<i) {YangHui[i][j]=YangHui[i-1][j-1]+YangHui[i-1][j];} } } //3.遍历杨辉三角二维数组 for(int i=0;i<YangHui.length;i++) { for(int j=0;j<YangHui[i].length;j++) { System.out.print(YangHui[i][j]+"\t"); } System.out.println(); } } }
相关文章推荐
- java数组学习之二:使用二维数组输出杨辉三角
- Java:使用3层for循环遍历输出三维数组内容。
- JAVA学习中的一点小发现:LinkedList中.poll()方法在输出时使用应注意的小点
- 【Java学习笔记】数组使用
- 【java】使用二维数组输出矩阵
- 【Java编程基本功】(十)输出杨辉三角,输出*号,数组移动
- java使用for循环输出杨辉三角
- [java学习笔记]java语言基础概述之数组的定义&常见操作(遍历、排序、查找)&二维数组
- java使用一维数组输出杨辉三角
- Java基础学习总结(67)——Java接口API中使用数组的缺陷
- java学习路线__面向对象__数组的定义与使用__3
- 二十三、杨辉三角 【使用二维数组输出】
- java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释
- java 使用二维数组打印一个10行杨辉三角;
- 第五天04 JAVA基础语法(认识对象--自动装箱、拆箱、数组基础[一维、二维数组]、for循环、数组对象、字符串对象)(学习笔记)
- Java小案例——使用双重for循环实现杨辉三角的输出
- java学习记录——使用Arrays.sort对数组进行升序排序
- Java中几种输出数组的for循环,以及循环中使用标签(非goto)
- python学习习题总结(8)——简单选择排序,列表解析式使用(格式化输出杨辉三角,九九乘法表)
- Java杨辉三角,不使用数组