我在完成此程序时遇到困难。我正在尝试制作一个创建星号的程序,然后将其变成三角形。

这就是我已经拥有的。

public class 12345 {
    public static void main(String[] args) {
        int n = 0;
        int spaces = n;
        int ast;

        System.out.println("Please enter a number from 1 - 50 and I will draw a triangle with these *");

        Scanner keyboard = new Scanner(System.in);
        n = keyboard.nextInt();

        for (int i = 0; i < n; i++) {
            ast = 2 * i + 1;

            for (int j = 1; j <= spaces + ast; j++) {
                if (j <= spaces)
                    System.out.print(' ');
                else
                    System.out.print('*');
            }

            System.out.println();
            spaces--;
        }
    }
}


它正在创建星号,但是我将如何在它们形成三角形的地方继续它们呢……这样它们就变得越来越大,然后又变小……

先感谢您!

最佳答案

尝试移动

int spaces = n;


从stdin中读取n的值之后。

这样可以解决您一半的问题,并有望使您走上正确的道路。

07-27 17:12