我的程序遇到的问题是,当我打印所有数字时,我输入的第一个数字重复两次并替换了第二个数字
例如。如果我输入 1,3,5,7,9,11,13,15,17,19 输出为 1,1,5,7,9,11,13,15,17,19
我该如何解决这个问题?
import java.util.Scanner;
import java.util.Arrays;
public class InputSort_Integers
{
public static void main(String[] args)
{
// Declarations
final int[] count = new int [10];
// Scanner
Scanner scanner = new Scanner(System.in);
// Scanner Loop
for (int i = 0; i < count.length; i++)
{
System.out.print("Enter " + count.length + " numbers (Press enter after each entry): ");
count[i] = scanner.nextInt();
}
// Print sorted number
int sorted = printNumbers(count);
}
public static int printNumbers(int[] count)
{
// Print loop
for (int i=0; i<count.length; i++)
{
System.out.println(count[i]);
// Sort Numbers
Arrays.sort(count);
}
return count.length;
}
}
最佳答案
您正在打印第一个数字,然后在循环内进行排序。您应该在循环开始之前对数字进行一次排序。将您的 printNumbers
方法更改为:
public static int printNumbers(int[] count)
{
// Sort Numbers
Arrays.sort(count);
// Print loop
for (int i=0; i<count.length; i++)
{
System.out.println(count[i]);
}
return count.length;
}
关于java - 对整数数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27054185/