有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Java中打印圣诞树任务使用完全相同的代码打印两个不同的结果

有人能帮我解决这个问题吗

我附上了两个密码。从我的比较来看,两者应该是相同的。其中一个打印几乎正常的圣诞树(代码2/结果代码2),另一个(代码1/结果代码1)只打印树的右侧。我不明白为什么会这样,怎么会这样

还有,有人能给我解释一下代码是如何工作的吗?我只懂一点点。仍在学习,我复制了代码2,并尝试用代码1手动复制

代码1:

public class XmasTree {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        System.out.println("How tall do you want it?");
        int height = input.nextInt();


        for (int i = 0; i < height; i++) {
            for (int j = 0; j < height -i; j++);{
                System.out.print(" ");
            }
            for (int k = 0; k <= i; k++) {
                System.out.print("* ");
            }
            System.out.println();
        }
        for (int i = 0; i <= height; i++){
            for (int j = 0; j <= height; j++){
                System.out.print(" ");
            }
            for (int k = 1; k < 2; k++){
                System.out.print("*");
            }
            System.out.println();
        }
        input.close();
    }
}

代码2:

public class XmasTree2 {

    public static void main(String[]args){

        Scanner input = new Scanner(System.in);
        System.out.println("How tall do you want your tree to be?");
        int height = input.nextInt();


        for(int i = 0; i < height; i++){
            for(int j = 0; j < height - i; j++){
                System.out.print(" ");
            }
            for(int k = 0; k <= i; k++){
                System.out.print("* ");
            }
            System.out.println();
        }
        for(int i = 0; i <= height; i++){
            for(int j = 0; j <= height; j++){
                System.out.print(" ");
            }
            for(int k = 1; k < 2; k++){
                System.out.print("*");
            }
            System.out.println();
        }
        input.close();
    }
}

结果代码1:

你想要多高? 四,

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

结果代码2:

你希望你的树有多高? 四,

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

共 (1) 个答案

  1. # 1 楼答案

    在第二个for-loop之后有一个额外的;

    你想知道我是怎么发现的吗?我把你的代码放在一个IDE中,让它为我自动格式化。这样一来,错误就显而易见了

    这就是为什么正确的格式如此重要