5-3 编程练习 怎么写

5-3 编程练习 怎么写

 5-3 编程练习 用星号输出一个梯形,如下图所示:(使用嵌套for循环完成)           public class StarDemo {     public static void main(String[] args) { String n="* * *"; String m=" * *";     System.out.println(n);  for(int j=1;j<=5;j++){               n=n+m;      System.out.println(n);      }}

如果想用for 里面嵌套两个for  怎么写呢?


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

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

5回答
CodeL树 2018-05-19 18:23:01

public class StarDemo {

    public static void main(String[] args) {

// 输出星号组成的梯形

        int m=4;      //  初始空格数

        int n = 3;    //  初始星星数

        for(int z=1;z<=5;z++){

              for(int j=1;j<=m;j++){

                    System.out.print("  ");

               }

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

                    System.out.print("*  ");

               }

               m--;

               n+=2;

               System.out.println();

         }

  }

}


慕粉1469164417 2018-05-17 14:24:36
public class StarDemo {
    public static void main(String[] args) {
		// 输出星号组成的梯形
		for(int n=1;n<=5;n++){
		    int u=1;
		    for(;u<=11+2*n;u++){
		        if(u%2 ==0|u<10-2*n){
		            System.out.print(" ");
		        }else{
		            System.out.print("*");
		        }
		    }
		    
		    System.out.println();
		}
	}
}


春珩 2018-04-17 19:53:29
package com.Imooc.operator;

public class Prictise {
	public static void main(String[]args) {
		int m=1;//外循环变量
		for(;m<=5;m++) {
			
			for(int i=1;i<=5-m;i++) {
				System.out.print(" ");
			}
			for(int j=1;j<=m+2;j++) {
				System.out.print("* ");
			}
			System.out.println();
		}
	}
}
参考一下吧,注意"* "里面*后面有个空格。


提问者 幕布斯5514588 2018-04-14 17:52:05

解答思路:public static void main(String[] args) { 

//外部循环控制行数,内部循环分别控制空格和星号的输出

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

 for(int j=1;j<=???;j++){

System.out.print("  ");}

for(int k=1;k<=???;k++){

System.out.print("*");

}

System.out.println();

}

http://img1.sycdn.imooc.com//climg/5ad1cb6a0001b33e03470306.jpg

问号处怎么填呢?如何找到行数和空格的规律

从上面的星号图形可以看出,第一行(i)输出4个空格(j),3个星号(k);第二行输出3个空格,5个星号,可以列个一元二次方程来求解行数和星号、空格的关系。

 a*i+b=j  ,其中  a、b为待定系数

当i=1时,j=4;当i=2,j=3

解 a+b=4,  2a+b=3, 得 a=-1,b=5, 所以  5-i=j

同样的办法找到行数和星号数的规律

a*i+b=k, 当i=1时,k=3;当i=2,k=5

解 a+b=3,  2a+b=5, 得 a=2,b=1, 所以  2*i+1=k

public static void main(String[] args) { 

//外部循环控制行数,内部循环分别控制空格和星号的输出

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

 for(int j=1;j<=5-i;j++){

System.out.print("  ");}

for(int k=1;k<=2*i+1;k++){

System.out.print("*");

}

System.out.println();

}


  • 独秀,请坐下!我立马又去看了一下初中数学
    2018-05-11 13:50:42
irista23 2018-04-12 16:44:55

解决思路:

1、外重循环控制输出行数,有多少行就循环多少次;

2、第一个内重循环控制输出的空格数,需要通过外层循环的循环变量计算出;

3、第二个内重循环控制每行输出的星号数,也是需要通过外层循环的循环变量计算。

注意输出完一行的星号和空格后要换行。

你可以先按照这个思路尝试实际操作一下,如果编写中遇到任何问题,都可以继续提问,我们都会真诚的帮你解答,直到完全掌握为止。

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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