【发布时间】:2015-10-11 00:23:05
【问题描述】:
我的 java 程序无法正确计算折扣,我不知道为什么。 我是java新手,我不知道如何解决这个问题,所以任何帮助都将不胜感激。 例如,如果您购买 100 袋,您的折扣应该是 82.50,但我说的是 27.50
import java.text.DecimalFormat;
import java.util.Scanner;
public class Coffee {
public static void main(String args[]){
Scanner bags = new Scanner(System.in);
System.out.println("Hello and welcome to the program");
System.out.println("Here is the discount list for the IT125 Coffee Company");
System.out.println("<= 24 Bags No discount");
System.out.println(">= 25 Bags 5% ");
System.out.println(">= 50 Bags 10% ");
System.out.println(">= 100 Bags 15% ");
System.out.println(">= 150 Bags 20% ");
System.out.println(">= 200 Bags 25% ");
System.out.println(">= 300 Bags 30% ");
System.out.println("");
DecimalFormat df = new DecimalFormat("0.00");
int num1;
System.out.print("Enter the number of bags purchased: ");
num1 = bags.nextInt();
System.out.println("Bags purchased " + num1);
double cost, disc, totcost;
totcost = 0;
disc = 0;
cost = num1 * 5.50;
System.out.println("Normal Price: € " + df.format(cost));
if (num1 < 25) {
System.out.println("Your dicount is " + disc);
totcost = cost - disc;
System.out.print("Your total cost is € " + df.format(totcost));
}
else if (num1 >= 25) {
disc = cost * 0.05;
totcost = cost - disc;
System.out.println("Your dicount is € " + df.format(disc));
System.out.print("Your total cost is € " + df.format(totcost));
}
else if (num1 >= 50) {
disc = cost * 0.1;
totcost = cost - disc;
System.out.println("Your dicount is € " + df.format(disc));
System.out.print("Your total cost is € " + df.format(totcost));
}
else if (num1 >= 100) {
disc = cost * 0.15;
totcost = cost - disc;
System.out.println("Your dicount is € " + df.format(disc));
System.out.print("Your total cost is € " + df.format(totcost));
}
else if (num1 >= 150) {
disc = cost * 0.2;
totcost = cost - disc;
System.out.println("Your dicount is € " + df.format(disc));
System.out.print("Your total cost is € " + df.format(totcost));
}
else if (num1 >= 200) {
disc = cost * 0.25;
totcost = cost - disc;
System.out.println("Your dicount is € " + df.format(disc));
System.out.print("Your total cost is € " + df.format(totcost));
}
else if (num1 >= 300) {
disc = cost * 0.3;
totcost = cost - disc;
System.out.println("Your dicount is € " + df.format(disc));
System.out.print("Your total cost is € " + df.format(totcost));
}
}
}
【问题讨论】:
-
您应该尝试将代码缩短为重现问题的最小示例。此外,显示所需的输出和问题输出。
标签: java