老师帮忙看一下代码是否正确,为什么我显示出来的没有梯形

来源:5-3 编程练习

慕慕6315658

2019-10-17 08:37:38

package easonDemo;


public class Dfjkda {


public static void main(String[] args) {

// TODO Auto-generated method stub

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

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

     System.out.print(" ");

     }

     for(int c=1;c<=a*2+1;c++) {

     System.out.print("*");

     }

     System.out.println();}

}


}




还有老师,我可以这样理解嘛,就是控制行数的for循环的条件,就相当于,行数的规律,因为,行数是5所以小于等于5,然后控制输出空格数的for循环的条件,就相当于,空格数的条件,因为空格数的规律是5-b,

以此类推,

写回答

1回答

好帮手慕酷酷

2019-10-17

同学你好,代码编写的不错,但是输出空格的思路不正确哦~导致没有梯形显示。

输出空格:按照图形的规律,第一行输出4个空格,第二行输出3个空格,第三行输出2个空格,第四行输出1个空格。

http://img.mukewang.com/climg/5da7fdb009c570dc03290227.jpg

a表示行数,每行的空格数就等于5-a。所以,每行需要输出5-a个空格,这里j就需要小于等于5-a。

具体修改如下:

http://img.mukewang.com/climg/5da7fe0709fb826c04250178.jpg

另外,要注意命名规则,包名应该所有字母均小写,如:easonDemo应改为:easondemo,

修改后的代码如下:

	public static void main(String[] args) {

		// TODO Auto-generated method stub

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

			for (int b = 1; b <= 5 - a; b++) {

				System.out.print(" ");

			}

			for (int c = 1; c <= a * 2 + 1; c++) {

				System.out.print("*");

			}

			System.out.println();
		}

	}

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

0 学习 · 11489 问题

查看课程