前提・実現したいこと
**以下の仕様を持つメソッドdiscountを作成してください。
** - 引数として受け取った値が1000円以上5000円以下の場合、1000円より大きい分について10%割引にする
** - 引数として受け取った値が5000円より大きい場合、1000円より大きく5000円以下の分について10%割引、5000円より大きい分について20%割引にする
** - 値引き額は小数点以下切り捨てで計算する(キャストを使いましょう)
** - 割引金額の上限は5000円とする
これらの条件を満たすようなソースコードを書きたいのです。
今、直面している問題は、変数iの扱いについてです。変数のシンボルが見つからないのは、mainメソッドのtotalPrice += Integer.parseInt( args[i] )でiが定義されてるからでしょうか?
発生している問題・エラーメッセージ
Ex1_14_2.java:53: エラー: シンボルを見つけられません
total= Integer.parseInt( args[i] );
^
シンボル: 変数 i
場所: クラス Ex1_14_2
エラー2個
public class Ex1_14_2 { //!!!mainメソッドの処理は書き換えないでください!!! public static void main (String[] args) { int totalPrice = 0 ; //購入した商品の合計金額 //コマンドライン引数から購入した商品の合計金額(定価)を取得 for(int i = 0 ; i < args.length ; i++ ){ totalPrice += Integer.parseInt( args[i] ); } //discountメソッドを使って値引きを適用し、値引き後の金額を取得 int discountedPrice = discount( totalPrice ); //値引き後の金額 //calcTaxPaymentメソッドを使って支払金額(税込)を取得 int taxPayment = calcTaxPayment( discountedPrice ); //支払金額(税込) //支払金額(税込)を表示 System.out.println("値引き後の支払金額:" + taxPayment + "円" ); } /* **以下の仕様を持つメソッドcalcTaxPaymentを作成してください。 ** - 引数として受け取った値の税込価格(消費税は8%とする)を計算して返す ** - 税込価格は整数(小数点以下切り捨て)で返す */ static int calcTaxPayment( int price ){ //アンダーバーを適切な内容に書き換えてください int IncludingTax =(int)(price *1.08); return IncludingTax; } /* **以下の仕様を持つメソッドdiscountを作成してください。 ** - 引数として受け取った値が1000円以上5000円以下の場合、1000円より大きい分について10%割引にする ** - 引数として受け取った値が5000円より大きい場合、1000円より大きく5000円以下の分について10%割引、5000円より大きい分について20%割引にする ** - 値引き額は小数点以下切り捨てで計算する(キャストを使いましょう) ** - 割引金額の上限は5000円とする */ static int discount( int total ){ total= Integer.parseInt( args[i] ); if(1000<=total && total<=5000){ total = total-(total-1000)*(int)0.1 ; }else if( total> 5000){ total = total-(total-5000)*(int)0.2-(total-1000)*(int)0.1 ; } return total; System.out.println("割引後の支払金額:" +total+"円"); } }
JAVA
試したこと
変数を入れ替えるなどしましたが、エラー解消ができません。今の状態が最もエラーの少ない形です。