尝试打印三角形时输出错误

时间:2021-02-05 10:38:53

标签: java

我试图打印一个图案

* * * * *
* * * * 
* * *
* *
*

我用java写了这段代码

public class Psttr {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner h=new Scanner(System.in);
        int n=h.nextInt();
        int x=n;
        int i=1;
        
        for( i=1;i<=n;i++);
        {
            for(int j=1;j<=x;j++) {
                System.out.print("*");  
            }
            x=x-1;
            System.out.println();
        }

    }

}

我没有得到正确的输出,总是 *****

预期输出:

* * * * *
* * * * 
* * *
* *
*

1 个答案:

答案 0 :(得分:0)

你的代码很好,在第一个循环后去掉分号 所以它会是:

public class Psttr {

    public static void main(String[] args) {
        Scanner h=new Scanner(System.in);
        int n=h.nextInt();
        int x=n;
        for(int i=1;i<=n;i++){ // You can init "i" here
            for(int j=1; j<=x--; j++) {
                System.out.print("*");
            }
            x--; // You can use post-decrement (or pre, it's the same here)
            System.out.print("\n");
        }
    }
} 

此外,您似乎对编程还很陌生,所以我添加了一些关于编写“更好的代码”的小建议