打印空心菱形(运用循环语句)
程序员文章站
2022-03-16 11:05:08
...
打印空心菱形
- 打印空心菱形
import java.util.Scanner;
public class Homeworks7 {
public static void main (String [] args){
//使用*打印菱形
Scanner sc = new Scanner(System.in);
System.out.print("请输入想要打印的菱形的行数:");
while(true){
int line = sc.nextInt();
if(line%2==0){
System.out.print("对不起,你输入的菱形行数不符合要求,请输入奇数:");
continue ;
}
for (int i=1;i<=(line/2)+1;i++){ //控制菱形上半部分行数
for(int j=(line/2)+1;j>i;j--){ //控制菱形上半部分每行应该空几格
System.out.print(" "); //可先用#代替空格,方便观察
}
for(int k=1;k<=(i*2-1);k++){
if(k==1 || k ==(i*2-1)){ //控制菱形上半部分每行应该有几个*
System.out.print("*");
}else{
System.out.print(" "); //控制菱形空心部分
}
}
System.out.println("");
}
for(int i=1;i<=line/2;i++){ //控制菱形下半部分行数(比上半部分少一行)
for(int j=1;j<=i;j++){ //控制菱形下半部分每行应该空几格
System.out.print(" "); //可先用#代替空格,方便观察
}
for (int k=((((line/2)-i)+1)*2)-1;k>=1;k--){ //控制菱形下半部分每行应该有几个*
if(k==1 || k==((((line/2)-i)+1)*2)-1 ){
System.out.print("*"); //控制菱形空心部分
}else{
System.out.print(" ");
}
}
System.out.println("");
}
break;
}
}
}