import java.util.Scanner;
/**
*
* <h5>功能描述:菱形的行数由键盘输入
* @author WQW
* @date 2018年12月11日 下午9:28:16
* @version JDK 8.0
*/
public class LingXing2 {
public static void main(String[] args) {
//n 为奇数才能打印出菱形 设n == 5
Scanner input = new Scanner(System.in);
System.out.println("请输入菱形的行数:");
int n = input.nextInt();
n = n % 2 == 0? n+1:n;
//使用变量的好处可以不用纠结循环的次数应该写几
int count = n/2 + 1; //控制每一行的空格数,初值的选取可以稍微调整方便程序
int star = -1; //控制每一行的星号数
//上3 ,即n/2 +1
//打印空格,第一行两个,第二行一个,第三行不打印
//打印星号,第一行一个,第二行三个,第三行5个,
for(int i = 1 ;i <= n/2 + 1 ;i++ ){
count --;
for(int j = 0;j < count;j++){
System.out.print(" ");
}
star += 2;
for(int j = 0;j < star ;j++){
System.out.print("*");
}
//打印换行
System.out.println();
}
//下2,即n/2
//打印空格,第一行1个,第二行2个
//打印星号,第一行3个,第二行1个
for(int i = 1 ;i <= n/2 ;i++){
count++;
for (int j = 1 ;j <= count ;j++){
System.out.print(" ");
}
star -= 2;
for(int j = 0;j < star ;j++){
System.out.print("*");
}
System.out.println();
}
}
}
主要屡思路,关键不是代码。