关于5-3的编程练习,我这么写思路有没有错误?标准答案是什么样子呢

关于5-3的编程练习,我这么写思路有没有错误?标准答案是什么样子呢

public class StarDemo {

    public static void main(String[] args) {

// 输出星号组成的梯形

for(int i=0;i<5;i++){

   for(int j=5;j>i;j--){

       System.out.print(" ");

   }

   System.out.print("*"); 

    for(int k=0;k<=i;k++){

          System.out.print("**"); 

       }

   System.out.println();

}

}

}


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

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

8回答
慕后端6008467 2019-03-04 20:42:22


public class Xing {
 public static void main(String[] args) {
 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();
 }
 }
}

慕九州22958251 2018-09-29 20:33:55

以上各位都是大神级别的。加油

一介农夫 2017-09-07 20:19:12

public class StarPut {
   public static void main(String[] args) {
      int i,j,k,line=5;
      for(i=0;i<line;i++){
          for(j=line;j>i;j--){
              System.out.print(" ");
          }

          for(k=0;k<(2*i+1);k++){
              System.out.print("*");
          }
          System.out.println();
      }
   }
}

http://img1.sycdn.imooc.com/climg//59b139350001b81d17170889.jpg

把第二个内嵌for的计算改成k<(2*i+3)就能得到想要的结果了

慕侠6265612 2017-09-01 09:21:55

package com.imooc;


public class StarDemo {


public static void main(String[] args) {

// 输出星号组成的梯形

int i=1,j=1,n=16,k=0;

k=n-1;

for(i=1;i<=n;i++){

   j=1;

   for(j=1;j<=i+n+1;j++){

       if(j<=k){

           System.out.print(" ");

           

       }else {

           System.out.print("A") ;

       }

   }

   k--;

   System.out.println();

}

}

}

http://img1.sycdn.imooc.com/climg//59a8b62b0001d8a504470489.jpg

慕粉2314209602 2017-08-27 15:51:41
 int n=4;
  for(int i=3;i<=7;i+=1) {
   
   for(int k=1;k<=n;k++) {
    
    System.out.print(" ");
    }
    
     for(int j=1;j<=i;j++) {
     
     System.out.print("*"+" ");
     }
     
   
   System.out.println();
   n--;
  }


慕粉061133557 2017-05-07 09:39:53

int m=1;

int n=1;

int k=1;

while(m<=5){

k=1;

while(k<=(5-m)){

System.out.print(" ");

k++;

}

n=1;

       while(n<=(2*m+1)){

        System.out.print("*");

        n++;

       }

System.out.println();

m++;

}

难道不是这样的么

光头比利 2017-05-07 06:14:41

我写的代码是这样的

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();


  • 方便的话能不能麻烦说下你的思路呢,看了这个我还是不太理解,这道题始终没做出来。。。
    2017-06-23 23:59:59
  • 我和你写的一样,可是有一个地方我不太明白,为什么这个j和k不用重新复制为1了呢?
    2017-09-07 17:14:57
  • 我刚开始的时候在内部循环上面把j=1,k=1;都加上了就报错了,后来都取消掉了就对了。我看视屏里面都特意给他重新赋值了,因为前面已经执行了j++和k++了。为什么这里面就不用了呢?
    2017-09-07 17:18:29
没有马甲线的安琪拉 2017-04-27 17:36:19

效果实现就表示思路没问题啦~~~

也分享一下我写的:

for(int i=0;i<5;i++){
  for(int j=5;j>i;j--){
     System.out.print(" ");
  }
  for(int k=0;k<=2*i+2;k++){
     System.out.print("*"); 
  }
  System.out.println();
}


  • 可以一起学习吗?
    2017-08-04 00:10:35
  • 我和你写的一样,可是有一个地方我不太明白,为什么这个j和k不用重新复制为1了呢?
    2017-09-07 17:19:00
  • 我刚开始的时候在内部循环上面把j=1,k=1;都加上了就报错了,后来都取消掉了就对了。我看视屏里面都特意给他重新赋值了,因为前面已经执行了j++和k++了。为什么这里面就不用了呢?
    2017-09-07 17:19:20
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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