想问下如何用for循环输出一个菱形

想问下如何用for循环输出一个菱形

想问下如何用for循环输出一个菱形

正在回答

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

2回答

同学你好,这是两个双重for循环组成,用第一个for循环举例说明:

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

外层for循环控制输出的行数,输出5行,内层第一个for循环控制输出的空格数,内层第二个for循环控制输出的*号数量。

第一行,输出4个空格,1个*号。

第二行,输出3个空格,3个*号。

。。。

以此论推,i表示第几行,输出的空格时5-i,输出的*号是2*i-1。

j的作用范围就是在一个for循环中,在for循环外使用j就会报错,除非再定义一个j。

k的作用是控制输出的*号个数。

祝:学习愉快~

好帮手慕阿满 2020-02-04 14:42:18

同学你好,如果是9行的菱形,可以将其分成上下两个部分,上边五行,下边四行。参考如下代码:

public class Demo {
	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();
		}
		for (int i = 1; i <= 4; i++) {
			for (int j = 1; j <= i; j++) {
				System.out.print(" ");
			}
			for (int k = 1; k <= 2 * (4 - i + 1) - 1; k++) {
				System.out.print('*');
			}
			System.out.println();
		}
	}
}

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

  • 提问者 calm__ #1
    你好,非常感谢,可以详细解释一下吗?我这看不太懂。就是j的范围部分以及k的作用。非常感谢!
    2020-02-04 14:54:05
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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