質問編集履歴

2

消費税の計算式が間違っていたため修正しました。

2020/02/20 08:34

投稿

chimo
chimo

スコア55

test CHANGED
File without changes
test CHANGED
@@ -70,7 +70,7 @@
70
70
 
71
71
 
72
72
 
73
- int calcResult1 = (int)(dprice * 1.8) ;
73
+ int calcResult1 = (int)(dprice * 1.08) ;
74
74
 
75
75
 
76
76
 

1

nt calcResult2 += Integer.parseInt( args[i] );について自分が何を考えてこのコードをかいたか追記しました。

2020/02/20 08:34

投稿

chimo
chimo

スコア55

test CHANGED
File without changes
test CHANGED
@@ -165,3 +165,11 @@
165
165
  ```
166
166
 
167
167
  このコードをコンパイルした時になぜか、「calcResult2の後に;を入れたら?」みたいなエラーが出てきますが、そんな馬鹿な…と思っています。そんなところに;を入れてしまっては計算が途中で終わってしまうし、そんなコード見たこともないし...。エラーのアドバイスがあてにならないのでみなさんの力添えお願いしたいです。どなたか教えて頂ければ大変嬉しく思います。お願いいたします!!
168
+
169
+
170
+
171
+ 【追記】
172
+
173
+ 理解しにくい質問内容を投稿してしまい申し訳ないです。
174
+
175
+ 自分的には、例えばコマンドライン引数で6000, 2000, 1000を受け取って合計金額が9000円だった場合、9000は5000より上なので、1000より大きく5000円以下の商品については10%OFF、5000円より大きい商品については20%割引にしたいから、6000は6000*0.8(小数点以下切り捨て), 2000は2000*0.9(小数点以下切り捨て), で1000はそのままで、もう一度和を算出する。というのが、discountメソッドでしたいことです。そのためにはコマンドライン引数で受取った各値が5000より大きいのか、1000より大きく5000以下なのかを評価しないといけないため、args[i]を使ってint calcResult2 += Integer.parseInt( args[i] )と表示してしまいました。どうすればメインメソッド内のコマンドライン引数で受取った各値をdiscountメソッドで評価できますでしょうか。 変数のスコープを考えればエラーが出ることは承知しておりますが、どのように表現すればよいかわからなかったためint calcResult2 += Integer.parseInt( args[i] );という意味不明なコードを書いてしまいました...。