java
1コード 2/*-< 演習:Ex1_14_2 >--------------------------------- 3コマンドライン引数から1つ以上の数値を受け取り、この1つ1つの数値を購入した商品の定価としたとき、 4合計金額(税込)を求め、更に割引を利かせた金額を表示するプログラムを作りたい。 5mainメソッドの内容は書き換えずに処理が通るようなメソッドをコメントに従って書いてください。 6----------------------------------------------------*/ 7public class Ex1_14_2 { 8 9 //!!!mainメソッドの処理は書き換えないでください!!! 10 public static void main (String[] args) { 11 12 int totalPrice = 0 ; //購入した商品の合計金額 13 14 //コマンドライン引数から購入した商品の合計金額(定価)を取得 15 for(int i = 0 ; i < args.length ; i++ ){ 16 totalPrice += Integer.parseInt( args[i] ); 17 } 18 19 //discountメソッドを使って割引を適用し、割引後の金額を取得 20 int discountedPrice = discount( totalPrice ); //割引後の金額 21 22 //calcTaxPaymentメソッドを使って支払金額(税込)を取得 23 int taxPayment = calcTaxPayment( discountedPrice ); //支払金額(税込) 24 25 //支払金額(税込)を表示 26 System.out.println("割引後の支払金額:" + taxPayment + "円" ); 27 28 } 29 30 /* 31 **以下の仕様を持つメソッドcalcTaxPaymentを作成してください。 32 ** - 引数として受け取った値の税込価格(消費税は8%とする)を計算して返す 33 ** - 税込価格は整数(小数点以下切り捨て)で返す 34 */ 35 static int calcTaxPayment( int num1 ){ //アンダーバーを適切な内容に書き換えてください 36 37 double tax = 1.08 ; 38 39 double extraPrice = num1 * tax; 40 41 return (int)extraPrice ; 42 43 44 } 45 46 /* 47 **以下の仕様を持つメソッドdiscountを作成してください。 48 ** - 引数として受け取った値が1000以上5000以下の場合、1000より大きい分について10%割引にする 49 ** - 引数として受け取った値が5000より大きい場合、1000より大きく5000円以下の分について10%OFF、5000円より大きい分について20%割引にする 50 ** - 値引き額は小数点以下切り捨てで計算する(キャストを使いましょう) 51 ** - 割引金額の上限は5000円とする 52 */ 53 static int discount( int num2 ){ 54 55 double wari = 0.9; 56 57 double exprice = 0.0; 58 59 if (1000 <= num2 || num2 <= 5000){ 60 61 exprice = (num2 - 1000) * wari; 62 63 exprice += 1000; 64 65 }else if(5000 < num2){ 66 67 68 69 return (int)exprice; 70 71 } 72}```ここに言語を入力 73コード
ここまでは出来たのですが
引数として受け取った値が5000より大きい場合、1000より大きく5000円以下の分について10%OFF、5000円より大きい分について20%割引にする
割引金額の上限は5000円とする
のプログラムが書けません
問題の解釈はできているのですが知識が少なく対応するプログラムが当てはめられないという状況です
わかることが少なくどうしても投げやりのような質問になっていしまいますがよろしくお願いします
このままではコードが読みづらいので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
で、しつもんはなんでしょうか。
> やり方がイマイチわかりません
と言うのはプログラム自体が書けないのか、プログラムはおいておいて、問題をどう解釈したら良いか分からないのか、どちらでしょうか。例えば6000円の場合はどういう計算になりますか。(<それが説明できなければプログラムは書けません) 更に「割引金額の上限は5000円とする」にも対応する必要があります。
回答ありがとうございます
問題の理解はしているがプログラムが書けないと言う質問でした
6000円の場合
4000 * 0.1 = 400
1000 * 0.2 = 200
400 + 200 = 600
6000 -600 = 5400
こうなると解釈しています
回答2件
あなたの回答
tips
プレビュー