输出*字 不知道哪里错了,是不是理解的有问题呢?

输出*字 不知道哪里错了,是不是理解的有问题呢?

public class TestFor {
   public static void main(String[] args) {
     /*  1、外重循环控制输出行数
       2、第一个内重循环控制输出的空格数,依次递减。
       3、第二个内重循环控制每行输出的星号数
       4、输出完一行的星号和空格后换行*/
       for (int i=1;i<= 5;i++){
           for (int j = 5;j <=i;j--){
               System.out.print(" ");
           }
              for (int k = 1; k <= 2*i+1;k++){
               System.out.println("*");
           }
               System.out.println();
       }
   }
}

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
慕移动0030688 2017-09-13 03:01:55

8: for (int j = 5;j <=i;j--)  ==>  for (int j = 5;j >=i;j--)

12: System.out.println("*");  ==>  System.out.print("*");


public static void main(String[] args) {
   /* 1、外重循环控制输出行数
       2、第一个内重循环控制输出的空格数,依次递减。
       3、第二个内重循环控制每行输出的星号数
       4、输出完一行的星号和空格后换行
   */
   for (int i=1;i<= 5;i++){
       for (int j = 5;j >=i;j--){
           System.out.print(" ");
       }
       for (int k = 1; k <= 2*i+1;k++){
           System.out.print("*");
       }
       System.out.println();
   }
}



     ***

    *****

   *******

  *********

 ***********


Process finished with exit code 0


  • 提问者 未知数X #1
    不懂第一个內重循环控制输出的空格数的作用 可以讲讲吗?
    2017-09-13 20:49:31
  • 一叶知秋519 回复 提问者 未知数X #2
    第二个内重循环输出的星星是的数量时依次增加的,通过内重循环外的换行输出,实现了左对齐,此时是不满足题目要求的,就需要用到第一内重循环来控制输出的空格数来达到题目要求。
    2017-09-14 11:24:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师