5-3编程问题

5-3编程问题


int hang;
int space;
int star;
for (hang = 1;hang <= 5;hang++){

    for (space = 4;space>=hang;space--){
        System.out.print("0");
    }
    for (star = 0;star<=hang;star++){
        System.out.print("*");
    }
    for (star = 1;star<=hang;star++){
        System.out.print("*");
    }
    for (space = 4;space>=hang;space--){
        System.out.print("0");
    }
    System.out.println();

}

老师我感觉我的代码好蠢,虽然可以运营出结果 但是怎么能变的更有效率呢?

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

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

2回答
提问者 阿林在战斗 2018-01-04 14:32:52
int hang;
int space;
int star;
for (hang = 1;hang <= 5;hang++){

    for (space = 4;space>=hang;space--){
        System.out.print(" ");
    }
    star = 1;
    for(star=1;star<=(2*hang)+1; star++){
        System.out.print("*");
    }


    System.out.println();

是这样么 老师

  • THappy #1
    完成的不错,继续加油~
    2018-01-04 14:44:51
  • 提问者 阿林在战斗 回复 THappy #2
    谢谢老师!
    2018-01-04 14:52:29
THappy 2018-01-04 11:57:30

建议这么写:定义一个外重循环控制行数,里面定义两个内重循环,前一个用来控制每一行的空格个数(递减),后一个用来控制每一行的星号个数(递增),每行结束要进行换行。祝学习愉快~

  • 提问者 阿林在战斗 #1
    int hang; int space; int star; for (hang = 1;hang <= 5;hang++){ for (space = 4;space>=hang;space--){ System.out.print(" "); } star = 1; for(star=1;star<=(2*hang)+1; star++){ System.out.print("*"); } System.out.println();
    2018-01-04 14:32:24
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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