【发布时间】:2016-06-13 22:57:43
【问题描述】:
我在排序数组时遇到了一些问题。我正在尝试按升序对其进行排序。
我的任务是从用户那里获取一系列整数并将它们存储到一个数组中,然后按升序将它们显示给用户。我很好地从用户那里获得输入,将其存储在数组中并显示回来。我能够运行我的代码并获得我想要的结果,但就使用选择排序按升序排列数组中的整数而言,我遇到了很多困难。
数组的大小取决于用户输入的值,因此设置为变量numValues而不是数字。
我创建的排序方法出错。我收到语法错误,void 是无效类型。我想我错过了一些东西,我不确定如何解决这个问题。如果有人能指出我正确的方向。任何帮助将不胜感激。
System.out.println("Here are the values you've entered" );
for(int n=0; n<values.length; n++)
{
System.out.print(values[n] + "");
}
System.out.println("Here are the values you've entered, in ascending order");
/*
* Method to arrange values in ascending order
*/
private static void sort(int[] values) {
int scan;
int index;
int minIndex;
int minValue; // Variables to put values in ascending order
for(scan=0; scan < (values.length-1); scan++)
{
minIndex = scan;
minValue = values[scan];
for(index = scan+1; index < values.length; index++)
{
if(values[index] < minValue)
{
minValue = values[index];
minIndex = index;
} // End if
} //End for
values[minIndex] = values[scan];
values[scan] = minValue;
} // End for loop
/*
* For loop to display values
*/
for(int n=0; n < values.length; n++ )
{
System.out.print(values[scan] + " ");
} //End for
} // End method sort
keyboard.close(); // To close Scanner object
} //End method main
【问题讨论】:
-
我并没有真正深入研究您的代码,但您应该考虑使用内置的
Arrays.sort。 -
欢迎来到 SO。请将您发布的代码限制为与您的问题相关的位。正如您所说,您可以成功地完成所有操作,但要对其进行排序 - 所以请将您的代码缩减为您的排序例程。
-
我看不出您的代码有任何明显错误。您能详细说明您遇到的问题吗?
-
我已将代码缩减为仅存在问题的部分
-
您在 java main 方法中有一个 sort 方法。提取您的排序方法。