空心菱形如图
话不多说先上代码
<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>
所以在满足这些直线方程都输出“*”,其余的全部输出“ ”即可打印出空心菱形。-
如果觉得好,请记得赞~~~~