输出下列图形(空格用_表示)
____*
___***
__*****
_*******
*******
分析
行数 空格数 星星数 一共有多数
一 4 1 5
二 3 3 6
三 2 5 7
四 1 7 8
五 0 9 9总结出规律:空格数为总行数,以后每行依次减小1,星星数为2*i-1;i为行数,总数为两者的和,所以代码为
public class 杨辉三角 { public static void main(String[] args) { int n=5;//行数 for(int i=1;i<=n;i++){//i表示行数,为了输出n行,所以i<=n for(int j=1;j<=(n-i)+2*i-1;j++){//j表示每个位置要输出的内容(n-i)表示空格数(2*i-1)表示*的数量 if(j<=(n-i)){//输出n-i个空格 System.out.print(" "); } else{//其它的输出* System.out.print("*"); } } System.out.println();//每一行运行完,换行 } } }
去掉众多的等号,让程序看起来不那么复杂
public class 杨辉三角 { public static void main(String[] args) { int n=5;//行数 for(int i=0;i<n;i++){//i表示行数,为了输出n行,所以i<=n for(int j=1;j<(n-i)+2*i+1;j++){//j表示每个位置要输出的内容(n-i)表示空格数(2*i-1)表示*的数量 if(j<n-i){//输出n-i个空格 System.out.print(" "); } else{//其它的输出* System.out.print("*"); } } System.out.println();//每一行运行完,换行 } } }