以下内容纯手打 因为没有套入到Eclipse中 所以可能个别标点可能有问题 public class YangHuiTa{ public static void main (String[] args ){ int leveCount = 10 ; // 杨辉三角的层数 int [] [] yangHui= new int [leveCount][0]; // 创建一个二维数组来保存杨辉三角的值; // 用for循环为杨辉三角的每一层创建一个int 数组; for (int i=0; i <levecount ; i++ ) { // 每次循环生成一行杨辉三角 yangHui[i] = new int [i+1]; // 每层杨辉三角中包含的元素个数为【i+1】个 for ( int j = 0 ; j < = i ; j ++ ) { // 每次循环计算杨辉三角一行中 的一个元素 if (i == 0 ) { // 如果是第一行 直接赋值为 1 yangHui[i] [j] = 1; } else { // 如果不是第一行,根据上一行的值计算当前行每个元素的值 int value = 0 ; // yon用来保存当前元素int 变量; if ( j>=1){ // 根据杨辉三角的计算规则,判断元素的左上方是否有元素 value += yangHui[i-1] [j-1] ; // 有则将当前元素上方的值添加到变量中; } if ( j < i ) { // 根据杨辉三角的计算规则,判断右上方有么有元素; value += yangHui [i-1] [j] ; // 有 则将当前元素的上方的值添加到value 变量中 } yangHui[i][j] = value ; // j将value的值赋给当前元素 } } } for ( int i = 0 ; i < leveCount ; i ++ ){ // 循环输出元素的值 for ( int j = 0 ; j < = i ; j ++ ) { System.out.print ( yangHui [i] [j] + "\t"); } System . out . println(); } System.out.println ( " 下面输出塔形杨辉三角形"); for ( int i =0; i < leveCount ; i ++ ) { // s输出塔形杨辉三角 for ( int j = 0 ; j < = leveCount - i - 1 ; j ++ ) { // 输出相应个数的制表符; System.out.print("\t"); } for ( int j = 0 ; j < = i ; j++) { // 读取杨辉三角的内容; System.out. print ( yangHui[i] [j] + "\t\t"); } System.out.println(); } } }
时间: 2024-12-28 00:36:57