输入行数,打印菱形,要求如下
从控制台输入菱形的高度(行数)。
如果用户输入的行数合法(奇数),
则打印出菱形;否则提示用户输入奇数
import java.util.Scanner;
public class 菱形 {
public static void main(String[] args) {
//创建用户输入
Scanner input=new Scanner(System.in);
// 循环判断用户输入的数据
while (true) {
System.out.println("输入菱形的高度:");
int di=input.nextInt();
//判断用户输入的数据是否为奇数
if (di%2!=0) {
//需要打印的上半部分的个数
int sb =di/2+1;
//控制打印上半部分的行数
for(int i=0;i<sb;i++) {
//需要打印空格的个数
for (int j=0;j<sb-(i+1);j++) {
System.out.print(" ");
}
//需要打印星星的个数
for (int j=0;j<(i+1)*2-1;j++) {
System.out.print("*");
}
//换行输出
System.out.println();
}
//需要打印的下半部分的个数
int xb=di-sb;
//控制打印下半部分的行数
for(int i=0;i<xb;i++) {
//需要打印空格的个数
for (int j=0;j<i+1;j++) {
System.out.print(" ");
}
//需要打印星星的个数
for (int j=0;j<di-(i+1)*2;j++) {
System.out.print("*");
}
//换行输出
System.out.println();
}
break;
//条件判断错误输出提示
}else {
System.out.println("输入的不是奇数");
}
}
}
}