【JAVA】打印出菱形

课后作业之“可爱”的菱形

需要打印出 这样的形状<实菱>
图片1
和这样的形状<空菱>
图片2
所以我复习了一下小学数学找规律【假的,复习也复习不好了。。】

下面是我的思路:

就简单的找一下各行空格和星号的关系,把空格的地方补出来,只考虑每行最后一个星号之前的空格,不用思考之后的。然后按每一行做最外面的循环,再根据每行星号和行号的关系,用小循环输出相应个数的空格或者星号。

自我感觉就是脑子成了一团浆糊之后,先输出来看看结果,再根据与题设不相同的点去修改,更直观一点~

代码:

package CH04_05;

public class CH04_05 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int lay;
		lay = 7;
		//图形1
		for(int i=1;i<=(lay+1)/2;i++) {
			for(int j=1;j<=(lay+1)/2-i;j++) {
				System.out.print(" ️");
			}
			for(int k=1;k<=i*2-1;k++) {
				System.out.print("*️");
			}
			System.out.println();
		}
		for(int i = (lay+1)/2-1;i>=1;i--) {//逆序输出
			for(int j=1;j<=(lay+1)/2-i;j++) {
				System.out.print(" ️");
			}
			for(int k=1;k<=i*2-1;k++) {
				System.out.print("*️");
			}
			System.out.println();
		}
		System.out.println();
		
		//图形2
		for(int i=1;i<=(lay+1)/2;i++) {
			for(int j=1;j<=(lay+1)/2-i;j++) {
				System.out.print(" ️");
			}
			    System.out.print("*️");
			for(int l=1;l<=i*2-3;l++) {
				System.out.print(" ️");
			}
			if(i!=1 && i!=lay) 
				System.out.print("*️");
			System.out.println();
		}
		for(int i = (lay+1)/2-1;i>=1;i--) {//逆序输出
			for(int j=1;j<=(lay+1)/2-i;j++) {
				System.out.print(" ️");
			}
			    System.out.print("*️");
			for(int l=1;l<=i*2-3;l++) {
				System.out.print(" ️");
			}
			if(i!=1 && i!=lay) 
				System.out.print("*️");
			System.out.println();
		}

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值