正方形:5行5列 public static void main(String[] args){ //外层表示打印行数 for(int i=1;i<=5;i ){ //内层表示每行打印的个数 for(int j=1;j<=5;j ){ sout("*"); } //打印五个就换行 sout(); } } 直角三角形 第一行一个星,第二行两个星,第三行三个星 ······以此确定个数与行数的关系 public static void main(String[] args){ //外层循环控制打印的行数 for(int i=1;i<=5;i ){ //内层控制每行打印的个数,个数和行数相等(即内层循环的次数和外层表示行数的变量相等) for(int j=1;j<=i;j ){ sout("*"); } //打印完一行换行 sout(); } } 倒直角三角形:外层递增,内层递减;外层内层都递增;外层递减,内层递增 外层增,内层减 public static void main(String[] args){ //外层表示行数 for(int i=1;i<=5;i ){ //内层表示每行个数 //每行打印星星的个数控制内层循环的次数 for(int j=5;j>=i;j--){ sout("*"); } //打完一行星星换行 sout(); } } 外层减,内层增 public static void main(String[] args){ //外层表示行数 for(int i=5;i>=1;i--){ //内层表示每行个数 //每行打印星星的个数控制内层循环的次数 for(int j=1;j<=i;j ){ sout("*"); } //打完一行星星换行 sout(); } } 内层外层都递增 public static void main(String[] args){ //外层表示行数 for(int i=1;i<=5;i--){ //内层表示每行个数 //每行打印星星的个数控制内层循环的次数 for(int j=1;j<=6-i;j ){ sout("*"); } //打完一行星星换行 sout(); } } 内层外层都递减 public static void main(String[] args){ //外层表示行数 for(int i=5;i>=1;i--){ //内层表示每行个数 //每行打印星星的个数控制内层循环的次数 for(int j=5;j<=5 i;j ){ sout("*"); } //打完一行星星换行 sout(); } } 等腰三角形:打印空格(空格数量递减),打印星星(星星逐行递增) public static void main(String[] args){ //外层控制行数 for(int i=1;i<=5;i ){ //内层空格数量递减 for(int j=5;j>=i;j--){ sout(" "); } //内层星星数量是行数的两倍减一 for(int k=1;k<=(2*i-1);k ){ sout("*"); } sout(); } } 菱形:要求输入菱形大小的总行数(奇数),会对应变化菱形的大小 public static void main(String[] args){ Scanner sc=new Scanner(System.in); int row; do{ //偶数行或者是行数太少则继续进入循环重新输入 System.out.println("请输入菱形的大小:"); row=sc.nextInt(); }while(row%2==0||row<=3) //计算上半部分行数 int top=row/2 1; //计算下半部分行数 int bottom=row-top; //打印上半部分 for(int i=1;i<=top;i ){ //上半部分空格数量递减 for(int j=top;j>=i;j--){ System.out.print(" "); } //上半部分星星递增,数量与行数的关系是2*i-1 for(int k=1;k<=2*i-1;k ){ System.out.print("*"); } //每打完一行换行 System.out.println(); } //打印下半部分 for(int i=1;i<=bottom;i ){ //空格是正直角三角,行数和个数相同递增 for(int j=1;j<=i;j ){ System.out.print(" "); } //星星随行数增加星星个数递减 for(int k=1;k<=row-2*i;i ){ System.out.print("*"); } //每打完一行换行 System.out.println(); } } 空芯菱形 public static void main(String[] args){ Scanner sc=new Scanner(System.in); int row; do{ //偶数行或者是行数太少则继续进入循环重新输入 System.out.println("请输入菱形的大小:"); row=sc.nextInt(); }while(row%2==0||row<=3) //计算上半部分行数 int top=row/2 1; //计算下半部分行数 int bottom=row-top; //打印上半部分 for(int i=1;i<=top;i ){ //开头空格数量递减 for(int j=top;j>i;j--){ System.out.print(" "); } //打印星星部分 for(int k=1;k<=2*i-1;k ){ //如果是第一个和最后一个就打印星星 if(k==1||k==2i-1){ System.out.print("*"); } //其余中间部分打印空格 else{ System.out.print(" "); } //打印完一行就换行 System.out.println(); } } //打印下半部分 for(int i=1;i<bottom;i ){ //打印空格,空格逐行增加 for(int k=1;k<=i;k ){ System.out.print(" "); } //打印星星 for(int j=1;k<=row-2*i;k ){ //如果是第一个和最后一个就打印星星 if(k==1||k==row-2*i){ System.out.print("*"); } //其余中间部分打印空格 else{ System.out.print(" "); } //打印完一行就换行 System.out.println(); } } }来源:https://www./content-4-674501.html |
|