java - 对整数数组进行排序

标签 java arrays methods integer

我的程序遇到的问题是,当我打印所有数字时,我输入的第一个数字重复两次并替换了第二个数字

例如。如果我输入 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/

相关文章:

php - 如何在 php 中动态调用对象函数链?

java - 用其他值替换 ArrayList<String> 中填充的字符串

c# - C#中从基类调用重写的方法

java - 获取一个类中的所有方法---容易出错

java.rmi.ConnectException : Connection refused to host

javascript - 如何通过使用 Ramda 将谓词映射到输入数组来获得两个数组

javascript - 在 JavaScript 中添加数字数组时出现奇怪的结果

java - 在实现另一个类接口(interface)的类中使用属​​性

java - 使用 Android Studio 3.0 在 Kotlin 中出现 RxJava zipWith IDE 错误

java - SingleConnectionFactory - 未找到类 Spring 4.0.5