Java 根据价格计算销售税
我正在尝试执行java任务,场景如下: 对所有消费的商品和服务征收7%的销售税。所有价格标签都必须包含销售税,这也是强制性的。例如,如果一件商品的标价为107美元,那么实际价格为100美元,7美元将计入销售税 编写一个程序,使用循环连续输入含税价格(作为“双倍”);计算实际价格和销售税(双倍);并打印四舍五入到小数点后2位的结果。程序应在响应-1输入时终止;并打印总价、实际总价和销售税总额 但是,当我尝试计算销售税时,没有显示以下内容: 输入·含税·价格·单位·美元(或·-1·至··结束):107 实际价格为:$100.00 销售税为:7.00美元 我的计算表明: 以美元(或-1结尾)输入含税价格:107 实际价格为99.51美元 销售税为:7.49美元 我不确定我的编码有什么问题Java 根据价格计算销售税,java,Java,我正在尝试执行java任务,场景如下: 对所有消费的商品和服务征收7%的销售税。所有价格标签都必须包含销售税,这也是强制性的。例如,如果一件商品的标价为107美元,那么实际价格为100美元,7美元将计入销售税 编写一个程序,使用循环连续输入含税价格(作为“双倍”);计算实际价格和销售税(双倍);并打印四舍五入到小数点后2位的结果。程序应在响应-1输入时终止;并打印总价、实际总价和销售税总额 但是,当我尝试计算销售税时,没有显示以下内容: 输入·含税·价格·单位·美元(或·-1·至··结束):10
import java.util.Scanner;
public class SalesTax{
public static void main(String[] args) {
// Declare constants
final double SALES_TAX_RATE = 0.07;
final int SENTINEL = -1; // Terminating value for input
// Declare variables
double price, actualPrice, salesTax; // inputs and results
double totalPrice = 0.0, totalActualPrice = 0.0, totalSalesTax = 0.0; // to accumulate
// Read the first input to "seed" the while loop
Scanner in = new Scanner(System.in);
System.out.print("Enter the tax-inclusive price in dollars (or -1 to end): ");
price = in.nextDouble();
while (price != SENTINEL) {
// Compute the tax
salesTax = SALES_TAX_RATE * price;
actualPrice = price - salesTax;
// Accumulate into the totals
totalPrice = actualPrice + salesTax;
totalActualPrice = actualPrice + actualPrice;
totalSalesTax = salesTax + salesTax;
// Print results
System.out.println("Actual price is $" + String.format("%.2f",actualPrice));
System.out.println("Sales Tax is: $" + String.format("%.2f",salesTax));
// Read the next input
System.out.print("Enter the tax-inclusive price in dollars (or -1 to end): ");
price = in.nextDouble();
// Repeat the loop body, only if the input is not the sentinel value.
// Take note that you need to repeat these two statements inside/outside the loop!
}
// print totals
System.out.println("Total price is: " + String.format("%.2f",totalPrice));
System.out.println("Total Actual Price is: " + String.format("%.2f",totalActualPrice));
System.out.println("Total sales tax is: " + String.format("%.2f",totalSalesTax));
}
}
任何帮助都将不胜感激。谢谢大家! 问题在于您的销售税计算,请尝试:
final double SALES_TAX_RATE = 7;
salesTax = price / (100 + SALES_TAX_RATE) * SALES_TAX_RATE;
这两行你错了:
salesTax = SALES_TAX_RATE * price;
actualPrice = price - salesTax;
如果您是根据已售出的价格计算销售额,请尝试以下操作:
您的价格
是实际价格
和实际价格税
的组成部分:
price = actualPrice + SALES_TAX_RATE * actualPrice
salesTax = SALES_TAX_RATE * actualPrice;
因此,你可以从数学上完成以下几段:
price = actualPrice * (1 + SALES_TAX_RATE)
actualPrice = price / (1 + SALES_TAX_RATE)
因此,请尝试更改实际价格的分配,然后计算您的实际价格的税费
:
price = actualPrice + SALES_TAX_RATE * actualPrice
salesTax = SALES_TAX_RATE * actualPrice;
“107”是一个例子,你应该解释如何解决他的问题一般;然而,在他的例子中,“价格/107”等于1,它之所以有效是因为我们处于一个特殊的情况:你的答案不正确或不完整——价格是实际价格的107%。价格除以107得到价格的1%,乘以7得到7%的销售税。虽然我应该使用变量来计算税率,而不是将其限制在7%。