java中的数组排序方法

时间:2013-03-29 18:18:58

标签: java arrays sorting methods

我更改了第一个System.out.println语句,但我仍然没有看到任何内容!我唯一得到的是Build Successful,但没有用户输入的输出!!

  //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);
    }
   }
   }

2 个答案:

答案 0 :(得分:3)

您的程序有效,但您可能不会很好地使用它,因为您在输入每个数字后仍会看到输入10个值:

尝试移动

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

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

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

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

答案 1 :(得分:1)

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