A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. class Demo_Sjx {
  2.         public static void main(String[] args) {
  3.                 print1();
  4.                 print2();
  5.         }
  6.         public static void print1(){
  7.                 for(int i=0;i<6;i++) {
  8.                                 for(int j=0;j<=i;j++) {
  9.                                         System.out.print(" ");
  10.                                 }
  11.                                 for(int k=6;k>i+2;k--) {
  12.                                         System.out.print("*");
  13.                                 }
  14.                                 for(int k=6;k>i+1;k--) {
  15.                                         System.out.print("*");
  16.                                 }
  17.                                 System.out.println();
  18.                         }
  19.         }
  20.         public static void print2(){               
  21.                 for(int i=0;i<6;i++) {
  22.                         for(int j=0;j<i;j++) {
  23.                                 System.out.print(" ");
  24.                         }
  25.                         for(int j=0;j<11-i*2;j++) {
  26.                                 if(i==0 && (j>=3 && j<=7)){
  27.                                         System.out.print(" ");
  28.                                 } else if(i==1 && (j>=3 && j<=5)) {
  29.                                         System.out.print(" ");
  30.                                 } else if(i==2 && j==3) {
  31.                                         System.out.print(" ");
  32.                                 } else {
  33.                                         System.out.print("*");
  34.                                 }                               
  35.                         }
  36.                         System.out.println();
  37.                 }

  38.         }
  39. }
复制代码

————————————————————————————————————
运行结果是      

3 个回复

正序浏览
我对目前接触到的for循环打印图形的理解是,只要搞清楚外循环是控制行数,内循环是控制列数就行了,但不明白为什么第10行和第14行不合并起来写,写成for(int k=10;k>i+1;k--)就可以了,
回复 使用道具 举报
一开始应该是打的前面的空格的三角。所以条件要求改动,之后的是*的打印。这里的for(int k=6;k>i+2;k--) ;for(int k=6;k>i+1;k--)  有点不解其意; 还有第二个的else if(i==2 && j==3) 不是很理解, 求解答
回复 使用道具 举报
运行结果是这样的

截图.jpg (24.61 KB, 下载次数: 4)

截图.jpg
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马