已有258人关注
这个打印菱形的代码看不懂
发表在Java答疑区 2017-01-21
是否精华
版块置顶:

代码如下:

public class Var_02 {

 public static void main(String args[]) {

  int lineCount = 17;                                                     // 输出的菱形有多少行,请赋值成奇数

  int maxLineNum = (lineCount + 1) / 2;                                   // 菱形最多一行
  for (int i = 1; i <= maxLineNum; i++) {                                 // 循环菱形数量越来越多的几行
   for (int space = 1; space <= maxLineNum - i; space++) {             // 输出空格,数量=最后一行-当前行数
    System.out.print("  ");
   }
   for (int star = 1; star <= (i * 2) - 1; star++) {                   // 输出星号,数量=行数*2-1
    System.out.print("* ");
   }
   System.out.println();                                               // 换行
  }

  int declineCount = lineCount - maxLineNum;                              // 计算剩下的几行,这几行星号的数量是递减的
  for (int i = 1; i <= declineCount; i++) {                               // 循环菱形数量越来越少的行数
   for (int space = 1; space <= i; space++) {                          // 输出空格,数量等于当前的行数
    System.out.print("  ");
   }
   for (int star = 1; star <= (declineCount - i + 1) * 2 - 1; star++) {// 输出星号,数量等于(总数-当前行数)*2-1
    System.out.print("* ");
   }
   System.out.println();
  }

 }

}

本人新手,求指教

分享到:
精彩评论 1
David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-01-22
沙发

上述代码的关键点是for循环,所以读者要先明确for循环的结构:

for(初始操作;循环继续的条件;每次迭代后的操作) {

循环体

}

然后根据代码中的注释逐行理解,必要时可借助纸笔,按照代码指令,手动操作。

首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照