回答編集履歴

2

ご指摘頂いた点を最適化するべく修正

2015/04/13 01:25

投稿

R.lawliet
R.lawliet

スコア41

test CHANGED
@@ -140,8 +140,6 @@
140
140
 
141
141
  }
142
142
 
143
- tax(sum2);
144
-
145
143
  return tax(sum2);
146
144
 
147
145
  }
@@ -173,3 +171,65 @@
173
171
 
174
172
 
175
173
  皆様のお力添えありがとうございました。
174
+
175
+
176
+
177
+ 追記:ご指摘頂いたのでもうちょっと修正加えました。
178
+
179
+ ```lang-JAVA
180
+
181
+ public class ClassAdd07 {
182
+
183
+ public static void main(String[] args){
184
+
185
+ int[] price = {200,800,500,1100,300};
186
+
187
+ //07呼び出し
188
+
189
+ SubClass07 sub = new SubClass07();
190
+
191
+
192
+
193
+ //合計してtaxを呼ぶtotalメソッドを07から呼び出し
194
+
195
+ int sum = sub.total(price);
196
+
197
+
198
+
199
+ System.out.println("支払い合計は" + sum + "円です。");
200
+
201
+ }
202
+
203
+ }
204
+
205
+ class SubClass07{
206
+
207
+ //合計sum2を求めるメソッド
208
+
209
+ public int total(int[] price) {
210
+
211
+ int sum2 = 0;
212
+
213
+ for(int i:price){
214
+
215
+ sum2 += i;
216
+
217
+ }
218
+
219
+ return tax(sum2);//★
220
+
221
+ }
222
+
223
+ private int tax(int sum2) {
224
+
225
+ //消費税を載せる
226
+
227
+ return (int)(sum2 * 1.05);//★
228
+
229
+ }
230
+
231
+ }
232
+
233
+
234
+
235
+ ```

1

エラー修正。

2015/04/13 01:25

投稿

R.lawliet
R.lawliet

スコア41

test CHANGED
@@ -18,33 +18,19 @@
18
18
 
19
19
  型 SubClass07 のメソッド tax() は引数 (int) に適用できません
20
20
 
21
+
22
+
23
+ エラー修正完了致しましたので更新します。
24
+
25
+
26
+
21
27
  該当箇所、★
22
28
 
23
29
 
24
30
 
25
-
31
+ ```lang-JAVA
26
32
 
27
33
  /*
28
-
29
- SubClass07クラスを作成し、以下の2つのメソッドを作成。
30
-
31
- 1
32
-
33
- 引数で受け取った値に消費税をつけて戻すtaxメソッドを作成。
34
-
35
- *消費税は5%で計算,小数点以下は切捨て。
36
-
37
- 2
38
-
39
- 引数で受け取ったint型配列の合計を算出,
40
-
41
- taxメソッドを呼びだし、合計に消費税をつけた値を戻すtotalメソッドを作成。
42
-
43
-
44
-
45
- mainメソッドからtotalメソッドを呼び出し、totalメソッドから
46
-
47
- taxメソッドを呼び出して、算出した結果をmainメソッドで出力するプログラムを作成してください。*/
48
34
 
49
35
  package class0709;
50
36
 
@@ -107,3 +93,83 @@
107
93
  }
108
94
 
109
95
  }
96
+
97
+ ```
98
+
99
+ ↓修正後
100
+
101
+ 修正箇所★
102
+
103
+ ```lang-JAVA
104
+
105
+ public class ClassAdd07 {
106
+
107
+ public static void main(String[] args){
108
+
109
+ int[] price = {200,800,500,1100,300};
110
+
111
+ //07呼び出し
112
+
113
+ SubClass07 sub = new SubClass07();
114
+
115
+
116
+
117
+ //合計してtaxを呼ぶtotalメソッドを07から呼び出し
118
+
119
+ int sum = sub.total(price);
120
+
121
+
122
+
123
+ System.out.println("支払い合計は" + sum + "円です。");
124
+
125
+ }
126
+
127
+ }
128
+
129
+ class SubClass07{
130
+
131
+ //合計sum2を求めるメソッド
132
+
133
+ public int total(int[] price) {
134
+
135
+ int sum2 = 0;
136
+
137
+ for(int i:price){
138
+
139
+ sum2 += i;
140
+
141
+ }
142
+
143
+ tax(sum2);
144
+
145
+ return tax(sum2);
146
+
147
+ }
148
+
149
+ private int tax(int sum2) {
150
+
151
+ //消費税を載せる
152
+
153
+ int sum;//★
154
+
155
+ sum = (int)(sum2 * 1.05);//★
156
+
157
+ return sum;//★
158
+
159
+ }
160
+
161
+ }
162
+
163
+ ```
164
+
165
+
166
+
167
+ nagiseさんの仰る通り、returnが抜けていたのと、
168
+
169
+ 消費税を載せた後の金額はint表示なので、
170
+
171
+ (double)ではなく(int)でくくると良かったのですね。
172
+
173
+
174
+
175
+ 皆様のお力添えありがとうございました。