回答編集履歴
1
「
answer
CHANGED
@@ -1,81 +1,82 @@
|
|
1
|
-
ソート自体はもうできていますよね?
|
2
|
-
> この文の中にある出力順を選択する文を省いて降順のみを出力したいです。
|
3
|
-
|
4
|
-
昇順・降順を選べる機能がいらないよ」って話だと思うんですが、それならば
|
5
|
-
* その表示をやめる
|
6
|
-
* 降順を選んだことにする
|
7
|
-
|
8
|
-
ってだけで済みますよね
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
```
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
// System.
|
29
|
-
//
|
30
|
-
// int
|
31
|
-
//
|
32
|
-
//
|
33
|
-
//
|
34
|
-
//
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
int
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
num[j + 1]
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
//
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
}
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
1
|
+
ソート自体はもうできていますよね?
|
2
|
+
> この文の中にある出力順を選択する文を省いて降順のみを出力したいです。
|
3
|
+
|
4
|
+
「昇順・降順を選べる機能がいらないよ」って話だと思うんですが、それならば
|
5
|
+
* その表示をやめる
|
6
|
+
* 降順を選んだことにする
|
7
|
+
|
8
|
+
ってだけで済みますよね?
|
9
|
+
|
10
|
+
ここを、
|
11
|
+
```Java
|
12
|
+
System.out.print("出力順を選択してください。(1:昇順、2:降順):");
|
13
|
+
int kbn = stdIn.nextInt();
|
14
|
+
```
|
15
|
+
こうするだけで他は一切変えずに、目的を達成できると思います。
|
16
|
+
```Java
|
17
|
+
// System.out.print("出力順を選択してください。(1:昇順、2:降順):");
|
18
|
+
int kbn = 2; //stdIn.nextInt();
|
19
|
+
```
|
20
|
+
|
21
|
+
---
|
22
|
+
|
23
|
+
上のテクニックで入力もしたことにするようにした、テスト用コード
|
24
|
+
同じ数字があった場合、どうすればよいのかわからないのでそのまま。
|
25
|
+
```Java
|
26
|
+
public class Main {
|
27
|
+
public static void main(String[] args) {
|
28
|
+
// Scanner stdIn = new Scanner(System.in);
|
29
|
+
// System.out.print("整数=");
|
30
|
+
// int n = stdIn.nextInt();
|
31
|
+
// int[] num = new int[n];
|
32
|
+
// for (int i = 0; i < n; i++) {
|
33
|
+
// System.out.print("整数" + (i + 1) + ":");
|
34
|
+
// num[i] = stdIn.nextInt();
|
35
|
+
// }
|
36
|
+
|
37
|
+
|
38
|
+
// 毎回入力するのはだるいので入力したことにする
|
39
|
+
int[] num = { 8, 6, 9, 2, 9, 0, 7 };
|
40
|
+
int n = num.length;
|
41
|
+
|
42
|
+
|
43
|
+
for (int i = n - 1; 0 < i; i--) {
|
44
|
+
for (int j = 0; j < i; j++) {
|
45
|
+
if (num[j + 1] < num[j]) {
|
46
|
+
int w = num[j];
|
47
|
+
num[j] = num[j + 1];
|
48
|
+
num[j + 1] = w;
|
49
|
+
}
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
|
54
|
+
// ここも入力したことにする
|
55
|
+
// System.out.print("出力順を選択してください。(1:昇順、2:降順):");
|
56
|
+
int kbn = 2; //stdIn.nextInt();
|
57
|
+
|
58
|
+
|
59
|
+
if (kbn == 1) {
|
60
|
+
for (int i = 0; i < n; i++) {
|
61
|
+
if (i == n - 1) {
|
62
|
+
System.out.print(num[i]);
|
63
|
+
} else {
|
64
|
+
System.out.print(num[i] + " < ");
|
65
|
+
}
|
66
|
+
}
|
67
|
+
} else if (kbn == 2) {
|
68
|
+
for (int i = n - 1; 0 <= i; i--) {
|
69
|
+
if (i == 0) {
|
70
|
+
System.out.print(num[i]);
|
71
|
+
} else {
|
72
|
+
System.out.print(num[i] + " > ");
|
73
|
+
}
|
74
|
+
}
|
75
|
+
}
|
76
|
+
}
|
77
|
+
}
|
78
|
+
```
|
79
|
+
実行結果
|
80
|
+
```
|
81
|
+
9 > 9 > 8 > 7 > 6 > 2 > 0
|
81
82
|
```
|