0

我改变了第一个 System.out.println 语句,但我仍然什么也没看到!!!我唯一得到的是构建成功,但没有用户输入的输出!

  //initializes the array to have a limit of 10 numbers inputted
    double[] numbers = new double [10];

    // this loop reads in the numbers inputed from the array
    for (int i = 0; i < numbers.length; i++) {
        numbers[i] = input.nextDouble();
 }

System.out.println("Enter " + numbers.length + " values: ");

    java.util.Arrays.sort(numbers);// this is the Array.sort()method

    // this loop sorts the numbers and then prints them
    for(double number : numbers){
        System.out.println(number);
    }
   }
   }
4

2 回答 2

3

您的程序可以运行,但您可能没有很好地使用它,因为您一直看到Enter 10 values:在您输入每个数字之后。

尝试移动

System.out.println("Enter " + numbers.length + " values: ");

for循环之外。然后输入 10 个数字,您将看到输出。

顺便说一句,如果你不将它移到for循环之外,你的程序也可以工作,但是......就像你看到的那样,这是误导性的。

下次,使用调试器。太棒了..我有时甚至调试一个工作代码..只是因为它太棒了:)

于 2013-03-29T18:25:29.590 回答
1

您正在获得输出,而不是在您认为应该的时候。因为您numbers[i] = input.nextDouble()在打印语句之前放置了,所以控制台在打印消息之前正在等待输入。我敢打赌,如果您运行该程序,输入一个数字,然后按 Enter,您将收到您认为应该看到的消息。解决方案就是在该for循环中切换这两行代码。

于 2013-03-29T18:23:54.190 回答