import java.util.Scanner;
public class Rhombus {
public static void main(String[] args) {
int n ;//定义行数
int num=1;//定义每行的个数,第一行*数为1,所以初始值为1;
System.out.print("请输入上半个菱形的行数:");
Scanner scan=new Scanner(System.in);
n=scan.nextInt();
int[] number = new int[n];//定义数组放每行‘*’的个数
//把‘*’个数放入数组
for(int i=0;i<=n-1;i++){
number[i]=num;
num=num+2;
}
//外面有一个大循环嵌套两个小循环
for(int i=0;i<=number[n-1];i=i+2){
//先输出该行需要的空格
for(int j=number[n-1]-1;j>=i;j=j-2){
System.out.print(" ");
}
//然后输出该行需要的‘*’
for(int k=0;k<=i;k++){
System.out.print("*");
}
System.out.println(" ");//换行
}
//同上面的想法类似,就是把上面大的三角形倒过来并且把最后一行去掉
for(int a=0;a<=number[n-1];a=a+2){
for(int b=0;b<=a+2;b=b+2){
System.out.print(" ");
}
for(int c=number[n-2];c>a;c--){
System.out.print("*");
}
System.out.println(" ");
}
}
}
这是经过多次试验没有问题的代码,如果有更简单的欢迎在下面留言(*^▽^*)。
或者哪里不懂,没有解释清楚的欢迎提问O(∩_∩)O。