2016-10-22 20 views
-2

実行しようとすると間違った答えが得られます。私のプログラムの何が間違っていますか? 答えはdiscount_amountの合計金額を得ることができません。あなたが行うことができます合計金額を計算する

Scanner input = new Scanner(System.in); 

    double dicount_amount = 0; 
    double discount1 = 0; 
    double total = 0; 

    System.out.println("Enter the cost of the software: "); 
    double cost = input.nextDouble(); 

    System.out.println(" Enter the quantity sold: "); 
    int quantity = input.nextInt(); 
    if (cost > 0 && quantity > 0){ 


    if(quantity >= 10 && quantity >=19){ 
     discount1 = 20/100; 
    } 
    else if(quantity >= 20 && quantity >=49){ 
     discount1 = 30/100; 
    } 
    else if(quantity >= 50 && quantity >=99){ 
     discount1 = 40/100; 
    } 
    else if(quantity <=100){ 
     discount1 = 50/100; 
    } 

    } 
    else { 

     System.out.println(" please enter valid input "); 
    } 

    double total1 = cost * quantity; 
    dicount_amount = total1 * discount1; 
    total= total1 - dicount_amount; 

    System.out.println("Total Cost: " + total); 

} 
+1

はあなたが対それが実際に何を、行うためにコードを期待しているかについての詳細を追加できますやっている?あなたは間違った答えを得ていると言いますが、その答えが何であるかについての詳細はありません。 – nbrooks

+0

私はあなたのコードを実行し、 '90'と' 2'を入力することを選択したとき、私は '180'を取得します。 「ソフトウェアのコストを入力してください:90販売数量を入力してください:2総費用:180.0'それが間違っている場合、正しい答えは何ですか? – davedwards

答えて

1

最も簡単な方法は、あなたがまた、あなたがあなたのif文

例を確認する必要がありますdiscount1 = 0.2;

の価値を直接設定することができます代わりにすることを、discount1 = 20/100;を分割することではありません。

if(quantity >= 10 && quantity >=19) 

=

if(quantity >=19) 

数量が間にあるかどうかを確認したいと思います。だから使用する必要があります

if(quantity >= 10 && quantity <=19) 
1

あなたの間違いは何だったのでしょうか?あなたはintでintを分けていました、そして、あなたは二重の結果を除いています。ダブルキャストするか、20.0/100を実行してください。あなたがプログラムを実行するたびにというステートメントになることはないので、あなたがしていることは意味がありません。quantity>=19を設定しているためです。 ifステートメント。

ここで私はあなたのコードで行われたいくつかの変更は以下のとおりです。

Scanner input = new Scanner(System.in); 

double dicount_amount = 0; 
double discount1 = 0; 
double total = 0; 

System.out.println("Enter the cost of the software: "); 
double cost = input.nextDouble(); 

System.out.println(" Enter the quantity sold: "); 
int quantity = input.nextInt(); 
if (cost > 0 && quantity > 0){ 


if(quantity >= 10 && quantity <=19){ 
    discount1 = (double)20/100; 
} 
else if(quantity >= 20 && quantity <=49){ 
    discount1 = (double)30.0/100; 
} 
else if(quantity >= 50 && quantity <=99){ 
    discount1 = (double)40.0/100; 
} 
else if(quantity >=100){ 
    discount1 = (double)50.0/100; 

} 

} 
else { 

    System.out.println(" please enter valid input "); 
} 
double total1 = cost * quantity; 
dicount_amount = total1 * discount1; 
total= total1 - dicount_amount; 

System.out.println("Total Cost: " + total); 

出力:

Enter the cost of the software:15 
Enter the quantity sold:16 
Total Cost: 192.0 
関連する問題