繁体   English   中英

需要帮助对数组列表进行排序

[英]Need help to sort array list

我对Java很陌生,我需要创建一个存储数字的数组,然后在排序列表中输出均值模式和中位数。

有人能用下面的代码告诉我到目前为止我是否走对了

int number=0;

ArrayList<Integer> listOfNumbers = new ArrayList<>();
Scanner scannerStream = new Scanner (System.in);

System.out.println("Enter list of numbers to Sort: (OR * TO  END LIST)");
while(!(listOfNumbers = br.readLine()).equals("*"))
     {

listOfNumbers = scannerStream.nextInt();
NumberList = listOfNumbers();

公共矢量listOfNumbersSort(整数){

    for (int i=0; i<NumberList; i++) {

         int Sort = listOfNumbers();;


return Sort;

// returns the mean
public Vector<Integer>  listOfNumbersMean (int number){

    return mean;
} // end 

// returns the mode 
public Vector<Integer>  listOfNumbersMode (int number){

    return mode;
} // end 

// returns the median
public Vector<Integer>  listOfNumberMedian (int number){

    return median;
} // end 

预先感谢您提供建议的任何帮助

使用Collections.sort()ArrayList进行排序。

使用Arrays.sort()对数组进行排序。

can anyone tell me if I am on the right track so far with the code below

您的方法定义看起来不太好。 您正在传递一个数字,并期望使用sortedlistofnumbers。 当然,如果您已经有了一个列表,并对其进行了排序,然后又得到了一个新的数字,并且需要重新排序,那么您可以像编写时那样拥有方法签名,但不能在初级级别使用。

您接受号码列表的方式不正确。 您需要一个循环。 而且,当您使用数组时,由于数组是固定长度的,因此您也应该指定大小。

请参阅以下代码以供参考。

如果您想以自己的方式实现排序,则有各种各样的算法,例如冒泡排序。

排序数组

public class Sorter {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(new InputStreamReader(System.in));
        System.out.println("How many numbers to sort ?");
        int count = scanner.nextInt();
        int numbers[] = new int[count];
        System.out.println("Enter list of numbers to Sort: ");
        for (int i = 0; i < count; i++) {
            System.out.println("Enter number");
            numbers[i] = scanner.nextInt();
        }

        System.out.println("List before sorting..");
        for (int i = 0; i < count; i++) {
            System.out.println(numbers[i]);
        }
        Arrays.sort(numbers);

        System.out.println("Sorted list");
        for (int i = 0; i < count; i++) {
            System.out.println(numbers[i]);
        }
    }
}

排序ArrayList

public class SorterList {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(new InputStreamReader(System.in));
        System.out.println("How many numbers to sort ?");
        int count = scanner.nextInt();
        List<Integer> numbers = new ArrayList<Integer>();
        System.out.println("Enter list of numbers to Sort: ");
        for (int i = 0; i < count; i++) {
            System.out.println("Enter number");
            numbers.add(scanner.nextInt());
        }
        System.out.println("List before sorting..");
        System.out.println(numbers);
        Collections.sort(numbers);
        System.out.println("Sorted list");
        System.out.println(numbers);
    }
}

编辑:

如果您想进行自定义排序-例如说冒泡排序算法,

        int temp;
        for (int i = 0; i < (count - 1); i++) {
            for (int j = 0; j < count - i - 1; j++) {
                if (numbers[j] > numbers[j + 1]) // '> for ascending order'
                {
                    temp = numbers[j];
                    numbers[j] = numbers[j + 1];
                    numbers[j + 1] = temp;
                }
            }
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM