なぜのArray.sortこのような配列では動作しませんか?

ワックス:

私はとても厳しすぎることがないようにしてください約2週間前にプログラミングを始めました:)

私は、Arrayの3最大elememtsを印​​刷するようにプログラミング演習を解決しようとしたが、.sort方法

エラーを報告し、私は理由を知りません。私は間違った方法で私の配列を宣言しているようだが、私は間違いを見つけることができません。

public static void main(String[] args) {
    int [] elements = {1, 4, 17, 7, 25, 3, 100};
    int k = 3;
    System.out.println("Original Array: ");
    System.out.println(Arrays.toString(elements));
    System.out.println(k +" largest elements of the said array are:");
    Arrays.sort(elements, Collections.reverseOrder());         
   for (int i = 0; i < k; i++) 
      System.out.print(elements[i] + " ");
}

}

Nexevis:

他の答えはあなたの原始逆にする方法について取り上げint配列を、しかし、あなたの問題の質問によると、あなたがすべての配列を逆にする必要がありませんようです。

単にあなたの変更して終わりで始まり、あなたの配列を反復処理for条件を:

public static void main(String[] args)
{
    int [] elements = {1, 4, 17, 7, 25, 3, 100};
    int k = 3;
    System.out.println("Original Array: ");
    System.out.println(Arrays.toString(elements));
    System.out.println(k +" largest elements of the said array are:");
    Arrays.sort(elements);         
    for (int i = elements.length - 1; i > elements.length - k; i--) 
      System.out.print(elements[i] + " ");
}

出力:

Original Array: 
[1, 4, 17, 7, 25, 3, 100]
3 largest elements of the said array are:
100 25 17 

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=277871&siteId=1