java 降順 ソート 【初心者】
解決したいこと
以下のコードでうまく降順で表示させるようにしたいです。
その際、for文の中身は変えないようにしたいです。
ネットで紹介されているものはだいたい加算か減算で、除算で降順をしているものはあまりなかったため、てこずっています、、、
発生している問題・エラー
import java.util.Arrays;
public class Main {
public static void main(String[] args){
int height[] = {170, 140, 150, 190, 130, 200, 180};
int i, j, tmp;
//もとの配列をそのまま表示
for(i = 0; i < height.length; i++){
System.out.print(height[i] + " ");
}
System.out.print("\n");
//配列のソート(昇順)
Arrays.sort(height);
//配列のソート(降順)
j = height.length-1;
for(i = 0; i < height.length/2; i++){
tmp = height[i];
height[i] = height[j]; //ここを変えてうまく降順にしたい
height[j] = tmp;
}
//ソート後の配列を表示
for(i = 0; i < height.length; i++){
System.out.print(height[i] + " ");
}
System.out.println("\n");
}
}
出力結果
170 140 150 190 130 200 180
200 130 140 170 180 190 150
これを
170 140 150 190 130 200 180
200 190 180 170 150 140 130
と表示されるようにしたいです。その際、
for(i = 0; i < height.length/2; i++){
ここは変えずに
height[i] = height[j]; //ここを変えてうまく降順にしたい
height[j]//ここを変えてうまく降順にしたい = tmp;
ここのjの部分を変えて降順にしたいです。
該当するソースコード
java
困っていること
i < height.length/2;
ここでやっていることがいまいちよくわからず、手こずってしまっています、、、