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

回答編集履歴

2

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

2015/04/13 01:25

投稿

R.lawliet
R.lawliet

スコア41

answer CHANGED
@@ -69,7 +69,6 @@
69
69
  for(int i:price){
70
70
  sum2 += i;
71
71
  }
72
- tax(sum2);
73
72
  return tax(sum2);
74
73
  }
75
74
  private int tax(int sum2) {
@@ -85,4 +84,35 @@
85
84
  消費税を載せた後の金額はint表示なので、
86
85
  (double)ではなく(int)でくくると良かったのですね。
87
86
 
88
- 皆様のお力添えありがとうございました。
87
+ 皆様のお力添えありがとうございました。
88
+
89
+ 追記:ご指摘頂いたのでもうちょっと修正加えました。
90
+ ```lang-JAVA
91
+ public class ClassAdd07 {
92
+ public static void main(String[] args){
93
+ int[] price = {200,800,500,1100,300};
94
+ //07呼び出し
95
+ SubClass07 sub = new SubClass07();
96
+
97
+ //合計してtaxを呼ぶtotalメソッドを07から呼び出し
98
+ int sum = sub.total(price);
99
+
100
+ System.out.println("支払い合計は" + sum + "円です。");
101
+ }
102
+ }
103
+ class SubClass07{
104
+ //合計sum2を求めるメソッド
105
+ public int total(int[] price) {
106
+ int sum2 = 0;
107
+ for(int i:price){
108
+ sum2 += i;
109
+ }
110
+ return tax(sum2);//★
111
+ }
112
+ private int tax(int sum2) {
113
+ //消費税を載せる
114
+ return (int)(sum2 * 1.05);//★
115
+ }
116
+ }
117
+
118
+ ```

1

エラー修正。

2015/04/13 01:25

投稿

R.lawliet
R.lawliet

スコア41

answer CHANGED
@@ -8,20 +8,13 @@
8
8
 
9
9
  しかしまだ微妙にエラーが残っています。。。
10
10
  型 SubClass07 のメソッド tax() は引数 (int) に適用できません
11
+
12
+ エラー修正完了致しましたので更新します。
13
+
11
14
  該当箇所、★
12
15
 
13
-
16
+ ```lang-JAVA
14
17
  /*
15
- SubClass07クラスを作成し、以下の2つのメソッドを作成。
16
- 1
17
- 引数で受け取った値に消費税をつけて戻すtaxメソッドを作成。
18
- *消費税は5%で計算,小数点以下は切捨て。
19
- 2
20
- 引数で受け取ったint型配列の合計を算出,
21
- taxメソッドを呼びだし、合計に消費税をつけた値を戻すtotalメソッドを作成。
22
-
23
- mainメソッドからtotalメソッドを呼び出し、totalメソッドから
24
- taxメソッドを呼び出して、算出した結果をmainメソッドで出力するプログラムを作成してください。*/
25
18
  package class0709;
26
19
 
27
20
  public class ClassAdd07 {
@@ -52,4 +45,44 @@
52
45
  //消費税を載せる
53
46
  (double)(sum2 * 1.05);
54
47
  }
55
- }
48
+ }
49
+ ```
50
+ ↓修正後
51
+ 修正箇所★
52
+ ```lang-JAVA
53
+ public class ClassAdd07 {
54
+ public static void main(String[] args){
55
+ int[] price = {200,800,500,1100,300};
56
+ //07呼び出し
57
+ SubClass07 sub = new SubClass07();
58
+
59
+ //合計してtaxを呼ぶtotalメソッドを07から呼び出し
60
+ int sum = sub.total(price);
61
+
62
+ System.out.println("支払い合計は" + sum + "円です。");
63
+ }
64
+ }
65
+ class SubClass07{
66
+ //合計sum2を求めるメソッド
67
+ public int total(int[] price) {
68
+ int sum2 = 0;
69
+ for(int i:price){
70
+ sum2 += i;
71
+ }
72
+ tax(sum2);
73
+ return tax(sum2);
74
+ }
75
+ private int tax(int sum2) {
76
+ //消費税を載せる
77
+ int sum;//★
78
+ sum = (int)(sum2 * 1.05);//★
79
+ return sum;//★
80
+ }
81
+ }
82
+ ```
83
+
84
+ nagiseさんの仰る通り、returnが抜けていたのと、
85
+ 消費税を載せた後の金額はint表示なので、
86
+ (double)ではなく(int)でくくると良かったのですね。
87
+
88
+ 皆様のお力添えありがとうございました。