我给你说下思路吧,
菱形分为上三角和下三角(正三角),两个三角合成一个菱形,
比如一个6行菱形吧
第一行是俩空格,一颗星,所以三个变量i,j,k,
i控制总行数,j控制空格数,k控制星数,,两个拼在一起,就是啊,这是思路,你自己要多思考,
我把代码给你,对你帮助不大的
第一个星星和最后一个星星你打错地方了吧.
先考虑没有空格的输出按1,3,5,7,5,3,1,用一个FOR解决,然后再考虑输出几个空格的问题, 在外面加上FOR就OK
static private String x = "*";
static private String k = " ";
public static void main(String[] args) {
drow(4);
}
public static void drow(int hang) {
for (int i = 1; i <= hang; i++) {
for (int j = 1; j <= hang - i; j++) {
System.out.print(k);
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print(x);
}
System.out.println();
}
for (int i = hang - 1; i >= 1; i--) {
for (int j = 1; j <= hang - i; j++) {
System.out.print(k);
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print(x);
}
System.out.println();
}
}
public static void main(String[] args) {
for(int i = 0;i < 4;i++){
for(int j = 4;j > i;j--){
System.out.print(" ");
}
for(int j = 0;j < i*2+1;j++){
System.out.print("*");
}
System.out.println();
}
for(int i = 3;i > 0;i--){
for(int j = 5;j > i;j--){
System.out.print(" ");
}
for(int j = 0;j < i*2-1;j++){
System.out.print("*");
}
System.out.println();
}
}
public static void main(String[] args) {
int n=4;
for (int i = 1; i <= n*2; i++) {
for (int j = 1; j <= (2*i)-1 && j<=(n*2-i)*2+1 ; j++) {
System.out.print("*");
}
System.out.println("");
}
}