質問するログイン新規登録

回答編集履歴

10

追記

2020/07/24 04:14

投稿

退会済みユーザー
answer CHANGED
@@ -110,7 +110,7 @@
110
110
  // iの初期値がvalue.length(ここでは5)で、iが0より大きい間、iを-1しながらループします。
111
111
  // iはループのたびに-1されていくので「5, 4, 3, 2, 1(0より大きい)」となっていきます。
112
112
 
113
- for (int i = value.length - 1; i >= 0; i--) {
113
+ for (int i = value.length; i > 0; i--) {
114
114
  // 整数配列valueのi-1番目を表示
115
115
  // こうしてあげないと、上で説明したような落とし穴に引っ掛かります。
116
116
  System.out.println(String.valueOf(value[i - 1]));
@@ -151,4 +151,8 @@
151
151
  上記は、「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayAcsというメソッドをもったlistというクラス」です。outIntArrayAcs内の処理自体は全く変更していません。
152
152
  では今度はこのクラス内に「引数でもらった整数配列を降順インデックスで出力するoutIntArrayDesc」というメソッドを追加してください。
153
153
 
154
- コメントに回答をいただければ、また追記します。
154
+ コメントに回答をいただければ、また追記します。
155
+
156
+ ---
157
+
158
+ 追記します。

9

修正

2020/07/24 04:14

投稿

退会済みユーザー
answer CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  /* mainメソッド(最初に呼ばれるメソッド) */
26
26
  public static void main(String[] args) {
27
- int[] value = {10, 15, 20, 25, 30}; // 課題の配列
27
+ int value[] = {10, 15, 20, 25, 30}; // 課題の配列
28
28
  }
29
29
  }
30
30
  ```
@@ -37,7 +37,7 @@
37
37
 
38
38
  /* mainメソッド(最初に呼ばれるメソッド) */
39
39
  public static void main(String[] args) {
40
- int[] value = {10, 15, 20, 25, 30}; // 課題の配列
40
+ int value[] = {10, 15, 20, 25, 30}; // 課題の配列
41
41
 
42
42
  // valueの中身をループを使って表示していきます。
43
43
  // iの初期値が0で、iがvalue.length(この場合5)未満になる間、iを+1しながらループします。
@@ -82,7 +82,7 @@
82
82
 
83
83
  /* mainメソッド(最初に呼ばれるメソッド) */
84
84
  public static void main(String[] args) {
85
- int[] value = {10, 15, 20, 25, 30}; // 課題の配列
85
+ int value[] = {10, 15, 20, 25, 30}; // 課題の配列
86
86
 
87
87
  // valueの中身をループを使って表示していきます。
88
88
  // iの初期値が0で、iがvalue.count(この場合5)未満になる間、iを+1しながらループします。
@@ -149,6 +149,6 @@
149
149
  ```
150
150
 
151
151
  上記は、「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayAcsというメソッドをもったlistというクラス」です。outIntArrayAcs内の処理自体は全く変更していません。
152
- では今度はこのクラス内に「引数でもらった整数配列を順インデックスで出力するoutIntArrayDesc」というメソッドを追加してください。
152
+ では今度はこのクラス内に「引数でもらった整数配列を順インデックスで出力するoutIntArrayDesc」というメソッドを追加してください。
153
153
 
154
154
  コメントに回答をいただければ、また追記します。

8

修正

2020/07/24 04:01

投稿

退会済みユーザー
answer CHANGED
@@ -126,7 +126,7 @@
126
126
  /**
127
127
  * 新たに作成したlistクラス
128
128
  */
129
- class list{
129
+ class list {
130
130
 
131
131
  /**
132
132
  * 整数配列を昇順に出力するメソッド

7

修正

2020/07/24 03:07

投稿

退会済みユーザー
answer CHANGED
@@ -124,9 +124,9 @@
124
124
 
125
125
  ```
126
126
  /**
127
- * 新たに作成したIntArrayManagerクラス
127
+ * 新たに作成したlistクラス
128
128
  */
129
- class IntArrayManager {
129
+ class list{
130
130
 
131
131
  /**
132
132
  * 整数配列を昇順に出力するメソッド
@@ -148,7 +148,7 @@
148
148
  }
149
149
  ```
150
150
 
151
- 上記は、「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayAcsというメソッドをもったIntArrayManagerというクラス」です。outIntArrayAcs内の処理自体は全く変更していません。
151
+ 上記は、「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayAcsというメソッドをもったlistというクラス」です。outIntArrayAcs内の処理自体は全く変更していません。
152
152
  では今度はこのクラス内に「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayDesc」というメソッドを追加してください。
153
153
 
154
154
  コメントに回答をいただければ、また追記します。

6

クラス名変更

2020/07/24 03:05

投稿

退会済みユーザー
answer CHANGED
@@ -124,9 +124,9 @@
124
124
 
125
125
  ```
126
126
  /**
127
- * 新たに作成したInOutManagerクラス
127
+ * 新たに作成したIntArrayManagerクラス
128
128
  */
129
- class InOutManager {
129
+ class IntArrayManager {
130
130
 
131
131
  /**
132
132
  * 整数配列を昇順に出力するメソッド
@@ -148,7 +148,7 @@
148
148
  }
149
149
  ```
150
150
 
151
- 上記は、「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayAcsというメソッドをもったInOutManagerというクラス」です。outIntArrayAcs内の処理自体は全く変更していません。
151
+ 上記は、「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayAcsというメソッドをもったIntArrayManagerというクラス」です。outIntArrayAcs内の処理自体は全く変更していません。
152
152
  では今度はこのクラス内に「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayDesc」というメソッドを追加してください。
153
153
 
154
154
  コメントに回答をいただければ、また追記します。

5

追記

2020/07/24 03:04

投稿

退会済みユーザー
answer CHANGED
@@ -68,4 +68,87 @@
68
68
  では逆に、「30, 25, 20, 15, 10」と表示するためにはどうしたら良いのでしょうか?
69
69
  ヒントは、iの順番を逆(4→3→2→1→0となるよう)にしてあげることです。
70
70
 
71
- コメントにて回答ソースを記入いただけたら追記します。
71
+ コメントにて回答ソースを記入いただけたら追記します。
72
+
73
+ ---
74
+
75
+ 回答をいただいたので追記します。
76
+
77
+ 上記処理で配列を順番に出力することができたので、今度は逆に出力してみます。
78
+
79
+ ```
80
+ /* 最初に実行されるmainメソッドを実装したクラス */
81
+ public class saishuukadai01 {
82
+
83
+ /* mainメソッド(最初に呼ばれるメソッド) */
84
+ public static void main(String[] args) {
85
+ int[] value = {10, 15, 20, 25, 30}; // 課題の配列
86
+
87
+ // valueの中身をループを使って表示していきます。
88
+ // iの初期値が0で、iがvalue.count(この場合5)未満になる間、iを+1しながらループします。
89
+ // iはループのたびに+1されていくので「0, 1, 2, 3, 4(5未満)」となっていきます。
90
+
91
+ for (int i = 0; i < value.length; i++) {
92
+ // 整数配列valueのi番目を表示
93
+ // System.out.println()は、文字列を渡してあげないと出力してくれません。
94
+ // valueは整数配列のため、String.valueOf()を使って文字列に変換してます。
95
+ System.out.println(String.valueOf(value[i]));
96
+ }
97
+
98
+ // 上記と同じようにvalueの中身をループを使って逆から表示していきます。
99
+ // iの初期値がvalue.length - 1(ここが結構落とし穴です。配列の長さは5ですが配列のインデックス値は0始まりなので-1してあげなければなりません。)
100
+ // で、iが0以上の間、iを-1しながらループします。
101
+ // iはループのたびに-1されていくので「4, 3, 2, 1, 0(0以上)」となっていきます。
102
+
103
+ for (int i = value.length - 1; i >= 0; i--) {
104
+ // 整数配列valueのi番目を表示
105
+ System.out.println(String.valueOf(value[i]));
106
+ }
107
+
108
+ // これも上と同じで逆から表示していきます。
109
+ // iの初期値を-1しないバージョンです。
110
+ // iの初期値がvalue.length(ここでは5)で、iが0より大きい間、iを-1しながらループします。
111
+ // iはループのたびに-1されていくので「5, 4, 3, 2, 1(0より大きい)」となっていきます。
112
+
113
+ for (int i = value.length - 1; i >= 0; i--) {
114
+ // 整数配列valueのi-1番目を表示
115
+ // こうしてあげないと、上で説明したような落とし穴に引っ掛かります。
116
+ System.out.println(String.valueOf(value[i - 1]));
117
+ }
118
+ }
119
+ }
120
+ ```
121
+
122
+ これで逆順処理ができました。
123
+ ただ、saishuukadai01のメインメソッド内が少し大きくなってきたので、ループして出力する処理を別のクラスを作成して移行していきましょう。
124
+
125
+ ```
126
+ /**
127
+ * 新たに作成したInOutManagerクラス
128
+ */
129
+ class InOutManager {
130
+
131
+ /**
132
+ * 整数配列を昇順に出力するメソッド
133
+ */
134
+ public void outIntArrayAcs(int[] value) {
135
+
136
+ // valueの中身をループを使って表示していきます。
137
+ // iの初期値が0で、iがvalue.count(この場合5)未満になる間、iを+1しながらループします。
138
+ // iはループのたびに+1されていくので「0, 1, 2, 3, 4(5未満)」となっていきます。
139
+
140
+ for (int i = 0; i < intArray.value; i++) {
141
+ // 整数配列valueのi番目を表示
142
+ // System.out.println()は、文字列を渡してあげないと出力してくれません。
143
+ // valueは整数配列のため、String.valueOf()を使って文字列に変換してます。
144
+ System.out.println(String.valueOf(value[i]));
145
+ }
146
+
147
+ }
148
+ }
149
+ ```
150
+
151
+ 上記は、「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayAcsというメソッドをもったInOutManagerというクラス」です。outIntArrayAcs内の処理自体は全く変更していません。
152
+ では今度はこのクラス内に「引数でもらった整数配列を昇順インデックスで出力するoutIntArrayDesc」というメソッドを追加してください。
153
+
154
+ コメントに回答をいただければ、また追記します。

4

修正

2020/07/23 20:42

投稿

退会済みユーザー
answer CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  /* mainメソッド(最初に呼ばれるメソッド) */
26
26
  public static void main(String[] args) {
27
- int[] value = [10, 15, 20, 25, 30]; // 課題の配列
27
+ int[] value = {10, 15, 20, 25, 30}; // 課題の配列
28
28
  }
29
29
  }
30
30
  ```
@@ -37,7 +37,7 @@
37
37
 
38
38
  /* mainメソッド(最初に呼ばれるメソッド) */
39
39
  public static void main(String[] args) {
40
- int[] value = [10, 15, 20, 25, 30]; // 課題の配列
40
+ int[] value = {10, 15, 20, 25, 30}; // 課題の配列
41
41
 
42
42
  // valueの中身をループを使って表示していきます。
43
43
  // iの初期値が0で、iがvalue.length(この場合5)未満になる間、iを+1しながらループします。

3

修正

2020/07/23 20:10

投稿

退会済みユーザー
answer CHANGED
@@ -40,14 +40,14 @@
40
40
  int[] value = [10, 15, 20, 25, 30]; // 課題の配列
41
41
 
42
42
  // valueの中身をループを使って表示していきます。
43
- // iの初期値が0で、iがvalue.count(この場合5)未満になる間、iを+1しながらループします。
43
+ // iの初期値が0で、iがvalue.length(この場合5)未満になる間、iを+1しながらループします。
44
44
  // iはループのたびに+1されていくので「0, 1, 2, 3, 4(5未満)」となっていきます。
45
45
 
46
- for (int i = 0; i < value.count; i++) {
46
+ for (int i = 0; i < value.length; i++) {
47
47
  // 整数配列valueのi番目を表示
48
48
  // System.out.println()は、文字列を渡してあげないと出力してくれません。
49
- // valueは整数配列のため、toString()を使って文字列に変換してます。
49
+ // valueは整数配列のため、String.valueOf()を使って文字列に変換してます。
50
- System.out.println(value[i].toString());
50
+ System.out.println(String.valueOf(value[i]));
51
51
  }
52
52
  }
53
53
  }

2

修正

2020/07/23 20:04

投稿

退会済みユーザー
answer CHANGED
@@ -16,7 +16,7 @@
16
16
  ```
17
17
 
18
18
  何も処理を行わないプログラムの完成です。
19
- 次に課題となっているキーをインした配列を作りましょう。
19
+ 次に課題となっている配列を作りましょう。
20
20
 
21
21
  ```
22
22
  /* 最初に実行されるmainメソッドを実装したクラス */
@@ -24,7 +24,7 @@
24
24
 
25
25
  /* mainメソッド(最初に呼ばれるメソッド) */
26
26
  public static void main(String[] args) {
27
- int[] value = [10, 15, 20, 25, 30]; // 課題のキーイン配列
27
+ int[] value = [10, 15, 20, 25, 30]; // 課題の配列
28
28
  }
29
29
  }
30
30
  ```
@@ -37,7 +37,7 @@
37
37
 
38
38
  /* mainメソッド(最初に呼ばれるメソッド) */
39
39
  public static void main(String[] args) {
40
- int[] value = [10, 15, 20, 25, 30]; // 課題のキーイン配列
40
+ int[] value = [10, 15, 20, 25, 30]; // 課題の配列
41
41
 
42
42
  // valueの中身をループを使って表示していきます。
43
43
  // iの初期値が0で、iがvalue.count(この場合5)未満になる間、iを+1しながらループします。

1

修正

2020/07/23 18:34

投稿

退会済みユーザー
answer CHANGED
@@ -66,6 +66,6 @@
66
66
  ここまでわかりますでしょうか?
67
67
 
68
68
  では逆に、「30, 25, 20, 15, 10」と表示するためにはどうしたら良いのでしょうか?
69
- ヒントは、iの順番を逆にしてあげることです。
69
+ ヒントは、iの順番を逆(4→3→2→1→0となるよう)にしてあげることです。
70
70
 
71
71
  コメントにて回答ソースを記入いただけたら追記します。