编码和努力理解这项练习的新手

时间:2015-12-08 19:46:46

标签: java bluej

以下是练习:创建一个名为SortingTest的类。在其中,创建一个接受int值数组作为参数的方法,并打印出排序的元素(最小元素优先)到终端。

这个问题的一部分也是关于使用应该使用的HashSets。怎么样??

这是我到目前为止所得到的

import java.util.Arrays;
import java.util.HashSet;

public class SortingTest {

  public void sortArrays(int numbers[]) {
    Arrays.sort(numbers);
    System.out.println(numbers);

  }
}

我想我只是不理解它要求我做的概念。

5 个答案:

答案 0 :(得分:1)

这里有一个小样本可以帮助你完成它......很多方法可以解决这个问题,但使用内置的java类非常简单。

import java.util.Arrays;

public class SortArray {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int integerArray[] = {1, 5, 3, 7, 8, 2};

        Arrays.sort(integerArray);

        for(int number : integerArray) {
            System.out.print(number + ", ");
        }

    }
}

答案 1 :(得分:0)

首先阅读有多少类型的算法用于排序并尝试由您自己实现。

以下是Java中冒泡排序的link

答案 2 :(得分:0)

如果你必须手动实现排序算法,那么请查看双枢轴快速排序,这是我认为Arrays.sort在引擎盖下使用的。

https://en.wikipedia.org/wiki/Quicksort

如果你只需要使用Arrays.sort转储,你几乎就在那里,但是你需要循环打印出值并实际调用方法,你应该将其设为静态:

sorted = Arrays.sort(numbers);

for (int number : sorted) {
    System.out.println(number);
}

答案 3 :(得分:0)

似乎没有人在谈论你的HashSet问题 HashSet将删除数组中的重复项。因此,如果您不想要任何重复的数字,则需要使用HashSet。 例如,如果你有一个像这样的排序数组

[2,3,5,5,9,11,14,15,20,20] 
sorted => [2,3,5,9,11,14,15,20]

如果你必须创建自己的排序算法,那么我建议你在尝试之前尝试自己实现一个。排序的基本思路是按递增顺序排列数字,或者如果您想降序。
和其他人说的一样,要打印阵列,你可以使用

Arrays.toString(myarray);

或循环遍历元素和打印值

for(int i = 0; i < myarray.length(); i++){
    System.out.print(myarray[i]+" ");
}

答案 4 :(得分:-1)

你需要在循环的帮助下(比如for)遍历数组的每个元素,并在循环中打印每个数字。

for(int index = 0; index < numbers.length(); index++)
{
  System.out.println(numbers[index]);
}