/*
输出一个用空格填满的方形,只是在特定的位置把空格换成‘*’,用*排成菱形,
*/
import java.util.Scanner;
class kongling {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(true){ //循环输入
sop("please inter an odd num (1-80):");
int a=in.nextInt();
if(a%2==0)//保证菱形行数为奇数
a+=1;
lingxing(a);
}
}
public static void lingxing(int a){
for (int i=0;i<a ;i++ ) { //图形行数
for (int x=0;x<=a/*列数*/ && i<((a/2)+1)/*控制这个循环只打印菱形上半部分*/;x++ ) {//菱形上半部分
if(x==((a/2)-i)/*菱形左上斜线控制*/||x==((a/2)+i))/*菱形右上斜线控制*/{//在特定的位置输'*'
sop("*");
}
else{ //其他位置输空格
sop(" ");
}
}
for(int y=0;y<a && (a/2)+1<=i && i<a;y++){//菱形下半部分,同上
if(y==i-a/2 ||y==a/2+a-i-1){
sop("*");
}
else{
sop(" ");
}
}
sop("\n");
}
}
public static void sop(Object a){
System.out.print(a);
}
} |