質問編集履歴

1

既出ミスのため、再度編集いたしました。

2020/10/13 04:02

投稿

kai0201
kai0201

スコア5

test CHANGED
File without changes
test CHANGED
@@ -34,194 +34,186 @@
34
34
 
35
35
  (もしかしたら、とんちんかんなロジックを書いているかもしれません。。。。)
36
36
 
37
+
38
+
37
- 特に私が頭を悩ませているのは、メソッドの戻り値を他のクラスのへ受け渡す際の、
39
+ また、特に私が頭を悩ませているのは、メソッドの戻り値を他のクラスのへ受け渡す際の、
38
40
 
39
41
  return の書き方に悩んでおります。
40
42
 
41
-
43
+ 複数のreturnがある場合は、配列に格納して返すのが、一般的なのでしょうか?
44
+
45
+
46
+
42
-
47
+ お手数をおかけしますが、どなたかご教授お願い致します。
48
+
49
+
50
+
51
+ ### 該当のソースコード
52
+
53
+
54
+
43
- 今回ですと、
55
+ ```Java
56
+
57
+
58
+
59
+
60
+
44
-
61
+ class Test1 {
62
+
63
+
64
+
45
-
65
+ // フィールド
66
+
46
-
67
+ private int a;
68
+
69
+ private int b;
70
+
71
+
72
+
73
+ // コンストラクタ
74
+
75
+ Test1(int a,int b) {
76
+
77
+ this.a = a;
78
+
79
+ this.b = b;
80
+
81
+ }
82
+
83
+
84
+
85
+ // メソッド
86
+
87
+ public int getA() {
88
+
89
+ return this.a ;
90
+
91
+ }
92
+
93
+
94
+
95
+ public int getB() {
96
+
97
+ return this.b ;
98
+
99
+ }
100
+
101
+ }
102
+
103
+
104
+
105
+ class Test2 {
106
+
107
+
108
+
109
+ // フィールド変数
110
+
111
+ public int[] result1; // 合計値を入れる変数
112
+
113
+ public int result2; // 比較した値を入れる変数
114
+
115
+ public int test; // 合計値が同じだった場合
116
+
117
+
118
+
119
+ // メソッド
120
+
121
+ public Test1 hikaku(Test1 a,Test1 b) {
122
+
123
+
124
+
125
+ // インスタンス
126
+
127
+ TestMain y = new TestMain();
128
+
129
+
130
+
131
+ // getA,getBを取得して足し算
132
+
133
+ // 取得した値をresult[]に代入
134
+
135
+ int[] result1= {(a.getA() + b.getB())};
136
+
137
+
138
+
139
+ if (result1[0] == result1[1]) {
140
+
141
+
142
+
143
+ // 合計値が同じだった場合
144
+
145
+ test = result1[0];
146
+
147
+
148
+
149
+ }else {
150
+
151
+ // 合計値を比較
152
+
153
+ result2 = Math.max(result1[0], result1[1]);
154
+
155
+ }
156
+
47
- // test3へ値を返す
157
+ // test3へ値を返す
48
-
158
+
49
- return y.test3;
159
+ return y.test3;
160
+
161
+
162
+
163
+ }
164
+
165
+ }
166
+
167
+
168
+
169
+ class TestMain {
170
+
171
+
172
+
173
+ // フィールド変数
174
+
175
+ public int test3;
176
+
177
+
178
+
179
+ public static void main(String[] args) {
180
+
181
+ // TODO 自動生成されたメソッド・スタブ
182
+
183
+
184
+
185
+ // Test1インスタンス
186
+
187
+ Test1 s = new Test1(5,6);
188
+
189
+ Test1 s2 = new Test1(5,7);
190
+
191
+
192
+
193
+ // Test2インスタンス
194
+
195
+ Test2 f = new Test2();
196
+
197
+
198
+
199
+ // Test2.hikakuの呼び出し
200
+
201
+ Test1 test3 = f.hikaku(s,s2);
202
+
203
+
204
+
205
+ System.out.println((test3.getA()),(test3.getB()));
206
+
207
+ }
208
+
209
+
210
+
211
+ }
50
212
 
51
213
  ```
52
214
 
53
215
 
54
216
 
55
- お手数をおかけしますが、どなたかご教授お願い致します。
56
-
57
-
58
-
59
- ### 該当のソースコード
60
-
61
-
62
-
63
- ```Java
64
-
65
-
66
-
67
-
68
-
69
- class Test1 {
70
-
71
-
72
-
73
- // フィールド
74
-
75
- private int a;
76
-
77
- private int b;
78
-
79
-
80
-
81
- // コンストラクタ
82
-
83
- Test1(int a,int b) {
84
-
85
- this.a = a;
86
-
87
- this.b = b;
88
-
89
- }
90
-
91
-
92
-
93
- // メソッド
94
-
95
- public int getA() {
96
-
97
- return this.a ;
98
-
99
- }
100
-
101
-
102
-
103
- public int getB() {
104
-
105
- return this.b ;
106
-
107
- }
108
-
109
- }
110
-
111
-
112
-
113
- class Test2 {
114
-
115
-
116
-
117
- // フィールド変数
118
-
119
- public int[] result1; // 合計値を入れる変数
120
-
121
- public int result2; // 比較した値を入れる変数
122
-
123
- public int test; // 合計値が同じだった場合
124
-
125
-
126
-
127
- // メソッド
128
-
129
- public Test1 hikaku(Test1 a,Test1 b) {
130
-
131
-
132
-
133
- // インスタンス
134
-
135
- TestMain y = new TestMain();
136
-
137
-
138
-
139
- // getA,getBを取得して足し算
140
-
141
- // 取得した値をresult[]に代入
142
-
143
- int[] result1= {(a.getA() + b.getB())};
144
-
145
-
146
-
147
- if (result1[0] == result1[1]) {
148
-
149
-
150
-
151
- // 合計値が同じだった場合
152
-
153
- test = result1[0];
154
-
155
-
156
-
157
- }else {
158
-
159
- // 合計値を比較
160
-
161
- result2 = Math.max(result1[0], result1[1]);
162
-
163
- }
164
-
165
- // test3へ値を返す
166
-
167
- return y.test3;
168
-
169
-
170
-
171
- }
172
-
173
- }
174
-
175
-
176
-
177
- class TestMain {
178
-
179
-
180
-
181
- // フィールド変数
182
-
183
- public int test3;
184
-
185
-
186
-
187
- public static void main(String[] args) {
188
-
189
- // TODO 自動生成されたメソッド・スタブ
190
-
191
-
192
-
193
- // Test1インスタンス
194
-
195
- Test1 s = new Test1(5,6);
196
-
197
- Test1 s2 = new Test1(5,7);
198
-
199
-
200
-
201
- // Test2インスタンス
202
-
203
- Test2 f = new Test2();
204
-
205
-
206
-
207
- // Test2.hikakuの呼び出し
208
-
209
- Test1 test3 = f.hikaku(s,s2);
210
-
211
-
212
-
213
- System.out.println((test3.getA()),(test3.getB()));
214
-
215
- }
216
-
217
-
218
-
219
- }
220
-
221
- ```
222
-
223
-
224
-
225
217
  ### 補足情報(FW/ツールのバージョンなど)
226
218
 
227
219