回答編集履歴
10
追記
test
CHANGED
@@ -222,7 +222,7 @@
|
|
222
222
|
|
223
223
|
|
224
224
|
|
225
|
-
for (int i = value.length
|
225
|
+
for (int i = value.length; i > 0; i--) {
|
226
226
|
|
227
227
|
// 整数配列valueのi-1番目を表示
|
228
228
|
|
@@ -305,3 +305,11 @@
|
|
305
305
|
|
306
306
|
|
307
307
|
コメントに回答をいただければ、また追記します。
|
308
|
+
|
309
|
+
|
310
|
+
|
311
|
+
---
|
312
|
+
|
313
|
+
|
314
|
+
|
315
|
+
追記します。
|
9
修正
test
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
public static void main(String[] args) {
|
52
52
|
|
53
|
-
|
53
|
+
int value[] = {10, 15, 20, 25, 30}; // 課題の配列
|
54
54
|
|
55
55
|
}
|
56
56
|
|
@@ -76,7 +76,7 @@
|
|
76
76
|
|
77
77
|
public static void main(String[] args) {
|
78
78
|
|
79
|
-
|
79
|
+
int value[] = {10, 15, 20, 25, 30}; // 課題の配列
|
80
80
|
|
81
81
|
|
82
82
|
|
@@ -166,7 +166,7 @@
|
|
166
166
|
|
167
167
|
public static void main(String[] args) {
|
168
168
|
|
169
|
-
int
|
169
|
+
int value[] = {10, 15, 20, 25, 30}; // 課題の配列
|
170
170
|
|
171
171
|
|
172
172
|
|
@@ -300,7 +300,7 @@
|
|
300
300
|
|
301
301
|
上記は、「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayAcsというメソッドをもったlistというクラス」です。outIntArrayAcs内の処理自体は全く変更していません。
|
302
302
|
|
303
|
-
では今度はこのクラス内に「引数でもらった整数配列を
|
303
|
+
では今度はこのクラス内に「引数でもらった整数配列を降順インデックスで出力するoutIntArrayDesc」というメソッドを追加してください。
|
304
304
|
|
305
305
|
|
306
306
|
|
8
修正
test
CHANGED
@@ -254,7 +254,7 @@
|
|
254
254
|
|
255
255
|
*/
|
256
256
|
|
257
|
-
class list{
|
257
|
+
class list {
|
258
258
|
|
259
259
|
|
260
260
|
|
7
修正
test
CHANGED
@@ -250,11 +250,11 @@
|
|
250
250
|
|
251
251
|
/**
|
252
252
|
|
253
|
-
* 新たに作成した
|
253
|
+
* 新たに作成したlistクラス
|
254
254
|
|
255
255
|
*/
|
256
256
|
|
257
|
-
class
|
257
|
+
class list{
|
258
258
|
|
259
259
|
|
260
260
|
|
@@ -298,7 +298,7 @@
|
|
298
298
|
|
299
299
|
|
300
300
|
|
301
|
-
上記は、「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayAcsというメソッドをもった
|
301
|
+
上記は、「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayAcsというメソッドをもったlistというクラス」です。outIntArrayAcs内の処理自体は全く変更していません。
|
302
302
|
|
303
303
|
では今度はこのクラス内に「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayDesc」というメソッドを追加してください。
|
304
304
|
|
6
クラス名変更
test
CHANGED
@@ -250,11 +250,11 @@
|
|
250
250
|
|
251
251
|
/**
|
252
252
|
|
253
|
-
* 新たに作成したIn
|
253
|
+
* 新たに作成したIntArrayManagerクラス
|
254
254
|
|
255
255
|
*/
|
256
256
|
|
257
|
-
class In
|
257
|
+
class IntArrayManager {
|
258
258
|
|
259
259
|
|
260
260
|
|
@@ -298,7 +298,7 @@
|
|
298
298
|
|
299
299
|
|
300
300
|
|
301
|
-
上記は、「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayAcsというメソッドをもったIn
|
301
|
+
上記は、「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayAcsというメソッドをもったIntArrayManagerというクラス」です。outIntArrayAcs内の処理自体は全く変更していません。
|
302
302
|
|
303
303
|
では今度はこのクラス内に「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayDesc」というメソッドを追加してください。
|
304
304
|
|
5
追記
test
CHANGED
@@ -139,3 +139,169 @@
|
|
139
139
|
|
140
140
|
|
141
141
|
コメントにて回答ソースを記入いただけたら追記します。
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
---
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
回答をいただいたので追記します。
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
上記処理で配列を順番に出力することができたので、今度は逆に出力してみます。
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
```
|
158
|
+
|
159
|
+
/* 最初に実行されるmainメソッドを実装したクラス */
|
160
|
+
|
161
|
+
public class saishuukadai01 {
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
/* mainメソッド(最初に呼ばれるメソッド) */
|
166
|
+
|
167
|
+
public static void main(String[] args) {
|
168
|
+
|
169
|
+
int[] value = {10, 15, 20, 25, 30}; // 課題の配列
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
// valueの中身をループを使って表示していきます。
|
174
|
+
|
175
|
+
// iの初期値が0で、iがvalue.count(この場合5)未満になる間、iを+1しながらループします。
|
176
|
+
|
177
|
+
// iはループのたびに+1されていくので「0, 1, 2, 3, 4(5未満)」となっていきます。
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
for (int i = 0; i < value.length; i++) {
|
182
|
+
|
183
|
+
// 整数配列valueのi番目を表示
|
184
|
+
|
185
|
+
// System.out.println()は、文字列を渡してあげないと出力してくれません。
|
186
|
+
|
187
|
+
// valueは整数配列のため、String.valueOf()を使って文字列に変換してます。
|
188
|
+
|
189
|
+
System.out.println(String.valueOf(value[i]));
|
190
|
+
|
191
|
+
}
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
// 上記と同じようにvalueの中身をループを使って逆から表示していきます。
|
196
|
+
|
197
|
+
// iの初期値がvalue.length - 1(ここが結構落とし穴です。配列の長さは5ですが配列のインデックス値は0始まりなので-1してあげなければなりません。)
|
198
|
+
|
199
|
+
// で、iが0以上の間、iを-1しながらループします。
|
200
|
+
|
201
|
+
// iはループのたびに-1されていくので「4, 3, 2, 1, 0(0以上)」となっていきます。
|
202
|
+
|
203
|
+
|
204
|
+
|
205
|
+
for (int i = value.length - 1; i >= 0; i--) {
|
206
|
+
|
207
|
+
// 整数配列valueのi番目を表示
|
208
|
+
|
209
|
+
System.out.println(String.valueOf(value[i]));
|
210
|
+
|
211
|
+
}
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
// これも上と同じで逆から表示していきます。
|
216
|
+
|
217
|
+
// iの初期値を-1しないバージョンです。
|
218
|
+
|
219
|
+
// iの初期値がvalue.length(ここでは5)で、iが0より大きい間、iを-1しながらループします。
|
220
|
+
|
221
|
+
// iはループのたびに-1されていくので「5, 4, 3, 2, 1(0より大きい)」となっていきます。
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
for (int i = value.length - 1; i >= 0; i--) {
|
226
|
+
|
227
|
+
// 整数配列valueのi-1番目を表示
|
228
|
+
|
229
|
+
// こうしてあげないと、上で説明したような落とし穴に引っ掛かります。
|
230
|
+
|
231
|
+
System.out.println(String.valueOf(value[i - 1]));
|
232
|
+
|
233
|
+
}
|
234
|
+
|
235
|
+
}
|
236
|
+
|
237
|
+
}
|
238
|
+
|
239
|
+
```
|
240
|
+
|
241
|
+
|
242
|
+
|
243
|
+
これで逆順処理ができました。
|
244
|
+
|
245
|
+
ただ、saishuukadai01のメインメソッド内が少し大きくなってきたので、ループして出力する処理を別のクラスを作成して移行していきましょう。
|
246
|
+
|
247
|
+
|
248
|
+
|
249
|
+
```
|
250
|
+
|
251
|
+
/**
|
252
|
+
|
253
|
+
* 新たに作成したInOutManagerクラス
|
254
|
+
|
255
|
+
*/
|
256
|
+
|
257
|
+
class InOutManager {
|
258
|
+
|
259
|
+
|
260
|
+
|
261
|
+
/**
|
262
|
+
|
263
|
+
* 整数配列を昇順に出力するメソッド
|
264
|
+
|
265
|
+
*/
|
266
|
+
|
267
|
+
public void outIntArrayAcs(int[] value) {
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
// valueの中身をループを使って表示していきます。
|
272
|
+
|
273
|
+
// iの初期値が0で、iがvalue.count(この場合5)未満になる間、iを+1しながらループします。
|
274
|
+
|
275
|
+
// iはループのたびに+1されていくので「0, 1, 2, 3, 4(5未満)」となっていきます。
|
276
|
+
|
277
|
+
|
278
|
+
|
279
|
+
for (int i = 0; i < intArray.value; i++) {
|
280
|
+
|
281
|
+
// 整数配列valueのi番目を表示
|
282
|
+
|
283
|
+
// System.out.println()は、文字列を渡してあげないと出力してくれません。
|
284
|
+
|
285
|
+
// valueは整数配列のため、String.valueOf()を使って文字列に変換してます。
|
286
|
+
|
287
|
+
System.out.println(String.valueOf(value[i]));
|
288
|
+
|
289
|
+
}
|
290
|
+
|
291
|
+
|
292
|
+
|
293
|
+
}
|
294
|
+
|
295
|
+
}
|
296
|
+
|
297
|
+
```
|
298
|
+
|
299
|
+
|
300
|
+
|
301
|
+
上記は、「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayAcsというメソッドをもったInOutManagerというクラス」です。outIntArrayAcs内の処理自体は全く変更していません。
|
302
|
+
|
303
|
+
では今度はこのクラス内に「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayDesc」というメソッドを追加してください。
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
コメントに回答をいただければ、また追記します。
|
4
修正
test
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
public static void main(String[] args) {
|
52
52
|
|
53
|
-
int[] value =
|
53
|
+
int[] value = {10, 15, 20, 25, 30}; // 課題の配列
|
54
54
|
|
55
55
|
}
|
56
56
|
|
@@ -76,7 +76,7 @@
|
|
76
76
|
|
77
77
|
public static void main(String[] args) {
|
78
78
|
|
79
|
-
int[] value =
|
79
|
+
int[] value = {10, 15, 20, 25, 30}; // 課題の配列
|
80
80
|
|
81
81
|
|
82
82
|
|
3
修正
test
CHANGED
@@ -82,21 +82,21 @@
|
|
82
82
|
|
83
83
|
// valueの中身をループを使って表示していきます。
|
84
84
|
|
85
|
-
// iの初期値が0で、iがvalue.
|
85
|
+
// iの初期値が0で、iがvalue.length(この場合5)未満になる間、iを+1しながらループします。
|
86
86
|
|
87
87
|
// iはループのたびに+1されていくので「0, 1, 2, 3, 4(5未満)」となっていきます。
|
88
88
|
|
89
89
|
|
90
90
|
|
91
|
-
for (int i = 0; i < value.
|
91
|
+
for (int i = 0; i < value.length; i++) {
|
92
92
|
|
93
93
|
// 整数配列valueのi番目を表示
|
94
94
|
|
95
95
|
// System.out.println()は、文字列を渡してあげないと出力してくれません。
|
96
96
|
|
97
|
-
// valueは整数配列のため、
|
97
|
+
// valueは整数配列のため、String.valueOf()を使って文字列に変換してます。
|
98
98
|
|
99
|
-
System.out.println(value[i]
|
99
|
+
System.out.println(String.valueOf(value[i]));
|
100
100
|
|
101
101
|
}
|
102
102
|
|
2
修正
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
何も処理を行わないプログラムの完成です。
|
36
36
|
|
37
|
-
次に課題となっている
|
37
|
+
次に課題となっている配列を作りましょう。
|
38
38
|
|
39
39
|
|
40
40
|
|
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
public static void main(String[] args) {
|
52
52
|
|
53
|
-
int[] value = [10, 15, 20, 25, 30]; // 課題の
|
53
|
+
int[] value = [10, 15, 20, 25, 30]; // 課題の配列
|
54
54
|
|
55
55
|
}
|
56
56
|
|
@@ -76,7 +76,7 @@
|
|
76
76
|
|
77
77
|
public static void main(String[] args) {
|
78
78
|
|
79
|
-
int[] value = [10, 15, 20, 25, 30]; // 課題の
|
79
|
+
int[] value = [10, 15, 20, 25, 30]; // 課題の配列
|
80
80
|
|
81
81
|
|
82
82
|
|
1
修正
test
CHANGED
@@ -134,7 +134,7 @@
|
|
134
134
|
|
135
135
|
では逆に、「30, 25, 20, 15, 10」と表示するためにはどうしたら良いのでしょうか?
|
136
136
|
|
137
|
-
ヒントは、iの順番を逆にしてあげることです。
|
137
|
+
ヒントは、iの順番を逆(4→3→2→1→0となるよう)にしてあげることです。
|
138
138
|
|
139
139
|
|
140
140
|
|