前提・実現したいこと
今金額を計算するプログラムを作っているのですがなぜかエラーになってしまいます。
やりたいことは、コマンドライン引数の値を足して合計が1000円より大きく5000円以下なら-10%し、
5000円より大きいのであれば-20%するといったものが作りたいです。
発生している問題・エラーメッセージ
Exception in thread "main" java.lang.Error: Unresolved compilation problems: 代入の左側は変数でなければなりません 構文エラーがあります。"AssignmentOperator Expression" を挿入して Assignment を完了してください 構文エラーがあります。";" を挿入して Statement を完了してください at Sample4.discount(Sample4.java:36) at Sample4.main(Sample4.java:16)
該当のソースコード
Java
1 2public class Sample4 { 3 4 public static void main(String[] args) { 5 6 int total = 0 ; 7 8 for(int i = 0 ; i < args.length ; i++) { 9 10 total = total + Integer.parseInt(args[i]) ; 11 12 } 13 14 int totalTax = calcTax(total) ; 15 16 int payment = discount(totalTax) ; //16行目 17 18 System.out.println("合計金額 :" + payment) ; 19 20 21 } 22 23 static int calcTax(int total) { 24 25 double calcTax = total * 1.08 ; 26 27 return (int)calcTax ; 28 } 29 30 static int discount(int totalTax) { //30行目 31 32 if(totalTax > 1000 & totalTax <= 5000) { 33 34 double discount = (totalTax - 1000) * 0.9 ; 35 36 return (int)discount ; 37 38 }else if(totalTax > 5000){ 39 40 double discount = (totalTax - 5000) * 0.8 ; 41 42 return (int)discount ; 43 } 44 } 45 46}
試したこと
かれこれ30分以上見返していて、if節の中にreturn文があるからなのかなー、と思ったりしてるのですがreturn文を
うまく外に出してあげる方法も思いつきません。
いろいろ試していて一部のコードを変えるたび、問題がなかったところでもエラーが起きたりしたので
問題が検出されているところ以外でもなにかおかしなところがあるかもしれません。
どなたかデバッグをお願いいたします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/05 15:46