用嵌套循环制作树

时间:2016-03-11 17:27:29

标签: java tree

所以,对于我的编程课,我们的老师要求我们用*和其他随机字符制作树。树顶部必须有一颗星星,它的大小每隔一段时间就会增加,这取决于用户想要树的大小。出于某种原因,如果用户输入的数字大于15,则下半部分位于右侧。我尝试更改我的代码,但是小于15的所有内容都是正确的。我怎样才能让它发挥作用?

    Scanner scan = new Scanner(System.in);
    System.out.println("Enter the size of the tree you would like");
    int a = scan.nextInt();
    int b = 0;
    int c = 0;
    int d = 0;
    if ( a >= 12){
         d = 1;
    } else {
         d = 0;
    }
    //Top Half of Star
    for (int i = 0; i < a / 4; i++) {
            for (int j = i; j < a; j++){
                System.out.print(" ");
            }
        for (int j = 0; j < 2 * i + 1; j++){
            System.out.print("*");
            b = b + 1;
        }
        System.out.println("");
        }
    //Bottom Half of Star
    for (int i = 1; i < a/4; i++){
        for (int j = d; j < a; j++){
            System.out.print(" ");
        }
        for (int j = c; j < b/3; j++){
            System.out.print("*");
        }
        c = c + 2;
        d = d - 1;
        System.out.println("");

1 个答案:

答案 0 :(得分:0)

如果你将大小定义为行数,我认为这就是你要找的。

{{1}}