(思想创新)Jack初入java_week2百分百原创!用数学方程快速,简洁明了的输出空心菱形,看了包你点赞

空心菱形如图

话不多说先上代码

<span style="font-size:24px;">public class KongXinLingXing {
	public static void main(String[] args) {
		for(int y=8;y>=0;y--){
			for(int x=0;x<9;x++){
				if((x+y==4)||(x+y==12)||(x-y==4)||(y-x==4)){
					System.out.print("*");
				}else{
					System.out.print(" ");
				}
			}
			System.out.println();
		}
	}
}</span>
首先我们分析下图形,每条边由”*”组成。但四条边可以看成四条直线。建立起坐标系,那么我们就可以用方程表示这条直线。所以关键来了,我们怎么看待这个图形,建立起合理的坐标系。

        首先把这个图形看成9*9的格子,然后每个格子内容不同,所组成出来的图形(由于输出空间长宽不一,所以呈现长方形的感觉,但并不影响9*9格子的看法)。这样我们就能给整个大格子定义清晰的坐标。

要想右下角为坐标系原点,但电脑输出都是从上往下输出,所以就需要如下代码:

<span style="font-size:24px;">for(int y=8;y>=0;y--){

      for(int x=0;x<9;x++){}

}</span>
这样每个格子都可以定义坐标了,取空心菱形四个点,即可得出四条边的方程。即
<span style="font-size:24px;">for((x+y==4)||(x+y==12)||(x-y==4)||(y-x==4))</span>

所以在满足这些直线方程都输出“*”,其余的全部输出“ ”即可打印出空心菱形。-

 

如果觉得好,请记得赞~~~~




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值