回答編集履歴

1

2024/03/04 09:41

投稿

TN8001
TN8001

スコア9326

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
  ```