目的:
使用二維數(shù)組打印一個(gè) 10 行楊輝三角。
(視頻教程推薦:java課程)
思路:
1. 第一行有 1 個(gè)元素, 第 n 行有 n 個(gè)元素;
2. 每一行的第一個(gè)元素和最后一個(gè)元素都是 1;
3. 從第三行開始, 對(duì)于非第一個(gè)元素和最后一個(gè)元素的元素。即:yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
這是數(shù)組和嵌套循環(huán)的結(jié)合,跟著提示一步一步走,效果如上圖所示。
代碼實(shí)現(xiàn):
package com.atguigu.exer; import java.util.concurrent.ForkJoinPool; public class ArrayDemo { public static void main(String[] args) { //1.二維數(shù)組的動(dòng)態(tài)初始化 int[][] yangHui = new int[10][]; //2.二維數(shù)組的外層元素的動(dòng)態(tài)初始化 for(int i = 0;i < yangHui.length;i++){ yangHui[i] = new int[i + 1]; } //3. 給二維數(shù)組的內(nèi)層元素賦值 for(int i = 0;i < yangHui.length;i++){ //3.1 每一行的首末元素賦值為1 yangHui[i][0] = yangHui[i][i] = 1; //3.2 每一行的非首末元素賦值。規(guī)律為:yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j]; //if(i >= 2){ for(int j = 1;j < yangHui[i].length - 1;j++){ yangHui[i][j] = yangHui[i-1][j-1] + yangHui[i-1][j]; } //} } //4. 遍歷二維數(shù)組 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(); } } }