回答編集履歴
1
「
test
CHANGED
@@ -1,161 +1,82 @@
|
|
1
1
|
ソート自体はもうできていますよね?
|
2
|
-
|
3
2
|
> この文の中にある出力順を選択する文を省いて降順のみを出力したいです。
|
4
3
|
|
5
|
-
|
6
|
-
|
7
|
-
昇順・降順を選べる機能がいらないよ」って話だと思うんですが、それならば
|
4
|
+
「昇順・降順を選べる機能がいらないよ」って話だと思うんですが、それならば
|
8
|
-
|
9
5
|
* その表示をやめる
|
10
|
-
|
11
6
|
* 降順を選んだことにする
|
12
7
|
|
13
|
-
|
14
|
-
|
15
|
-
ってだけで済みますよね
|
8
|
+
ってだけで済みますよね?
|
16
|
-
|
17
|
-
```Java
|
18
|
-
|
19
|
-
System.out.print("出力順を選択してください。(1:昇順、2:降順):");
|
20
|
-
|
21
|
-
int kbn = stdIn.nextInt();
|
22
|
-
|
23
|
-
```
|
24
9
|
|
25
10
|
ここを、
|
26
|
-
|
27
11
|
```Java
|
28
|
-
|
12
|
+
System.out.print("出力順を選択してください。(1:昇順、2:降順):");
|
13
|
+
int kbn = stdIn.nextInt();
|
14
|
+
```
|
15
|
+
こうするだけで他は一切変えずに、目的を達成できると思います。
|
16
|
+
```Java
|
29
17
|
// System.out.print("出力順を選択してください。(1:昇順、2:降順):");
|
30
|
-
|
31
18
|
int kbn = 2; //stdIn.nextInt();
|
32
|
-
|
33
19
|
```
|
34
|
-
|
35
|
-
こうするだけで他は一切変えずに、目的を達成できると思います。
|
36
|
-
|
37
|
-
|
38
20
|
|
39
21
|
---
|
40
22
|
|
41
|
-
|
42
|
-
|
43
23
|
上のテクニックで入力もしたことにするようにした、テスト用コード
|
44
|
-
|
45
24
|
同じ数字があった場合、どうすればよいのかわからないのでそのまま。
|
46
|
-
|
47
25
|
```Java
|
48
|
-
|
49
26
|
public class Main {
|
50
|
-
|
51
27
|
public static void main(String[] args) {
|
52
|
-
|
53
28
|
// Scanner stdIn = new Scanner(System.in);
|
54
|
-
|
55
29
|
// System.out.print("整数=");
|
56
|
-
|
57
30
|
// int n = stdIn.nextInt();
|
58
|
-
|
59
31
|
// int[] num = new int[n];
|
60
|
-
|
61
32
|
// for (int i = 0; i < n; i++) {
|
62
|
-
|
63
33
|
// System.out.print("整数" + (i + 1) + ":");
|
64
|
-
|
65
34
|
// num[i] = stdIn.nextInt();
|
66
|
-
|
67
35
|
// }
|
68
36
|
|
69
37
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
38
|
// 毎回入力するのはだるいので入力したことにする
|
74
|
-
|
75
39
|
int[] num = { 8, 6, 9, 2, 9, 0, 7 };
|
76
|
-
|
77
40
|
int n = num.length;
|
78
41
|
|
79
42
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
43
|
for (int i = n - 1; 0 < i; i--) {
|
84
|
-
|
85
44
|
for (int j = 0; j < i; j++) {
|
86
|
-
|
87
45
|
if (num[j + 1] < num[j]) {
|
88
|
-
|
89
46
|
int w = num[j];
|
90
|
-
|
91
47
|
num[j] = num[j + 1];
|
92
|
-
|
93
48
|
num[j + 1] = w;
|
94
|
-
|
95
49
|
}
|
96
|
-
|
97
50
|
}
|
98
|
-
|
99
51
|
}
|
100
52
|
|
101
53
|
|
102
|
-
|
103
|
-
|
104
|
-
|
105
54
|
// ここも入力したことにする
|
106
|
-
|
107
55
|
// System.out.print("出力順を選択してください。(1:昇順、2:降順):");
|
108
|
-
|
109
56
|
int kbn = 2; //stdIn.nextInt();
|
110
57
|
|
111
58
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
59
|
if (kbn == 1) {
|
116
|
-
|
117
60
|
for (int i = 0; i < n; i++) {
|
118
|
-
|
119
61
|
if (i == n - 1) {
|
120
|
-
|
121
62
|
System.out.print(num[i]);
|
122
|
-
|
123
63
|
} else {
|
124
|
-
|
125
64
|
System.out.print(num[i] + " < ");
|
126
|
-
|
127
65
|
}
|
128
|
-
|
129
66
|
}
|
130
|
-
|
131
67
|
} else if (kbn == 2) {
|
132
|
-
|
133
68
|
for (int i = n - 1; 0 <= i; i--) {
|
134
|
-
|
135
69
|
if (i == 0) {
|
136
|
-
|
137
70
|
System.out.print(num[i]);
|
138
|
-
|
139
71
|
} else {
|
140
|
-
|
141
72
|
System.out.print(num[i] + " > ");
|
142
|
-
|
143
73
|
}
|
144
|
-
|
145
74
|
}
|
146
|
-
|
147
75
|
}
|
148
|
-
|
149
76
|
}
|
150
|
-
|
151
77
|
}
|
152
|
-
|
153
78
|
```
|
154
|
-
|
155
79
|
実行結果
|
156
|
-
|
157
80
|
```
|
158
|
-
|
159
81
|
9 > 9 > 8 > 7 > 6 > 2 > 0
|
160
|
-
|
161
82
|
```
|