谁能帮我看看出了什么问题啊这是

package diqijiangzuoye;

public class Lingxing {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("-------打印菱形------");
    for(int i=1;i<=5;i++) {
        for(int j=1;j<=5-i;j++) {
            System.out.println(" ");
        }
        for(int k=1;k<=2*i-1;k++) {
            System.out.println("*");
        }
        System.out.println();
    }
    for(int i=4;i>=1;i--) {
        for(int j=1;j<=5-i;j++) {
            System.out.println(" ");
        }
        for(int j=1;j<=2*i-1;j++) {
            System.out.println("*");
        }
        System.out.println();
    }
}

}
结果如下

img

System.out.println("*");
println是输出之后换行的意思
你这里应该System.out.print("*");

打印空格的时候使用System.print()方法就好,这样就不会换行了

System.out.println方法是换行的意思,你循环语句里面都是用这个方法打印的,所以导致你的每个星星都是换行的,不换行的方法用:System.out.print()打印
打印一个菱形可以参考我下面编写的代码:

int a = 5;
//正等腰三角形
for (int i = 0; i < a; i++) {
    for (int l = a; l > i; l--) {
        System.out.print(" ");
    }
    for (int j = 0; j < 2*i-1; j++) {
        System.out.print("*");
    }
    System.out.println();
}
//倒等腰三角形
for (int i = a-1; i > 0; i--) {
    for (int k = a; k >= i; k--) {
        System.out.print(" ");
    }
    for (int j = 2*i-3; j > 0; j--) {
        System.out.print("*");
    }
    System.out.println();
}

如若有用,还请博友采纳!感谢啦!!!!