如果税区为空,那么在船上销售,船上服务和预订都是免税的。我试图在java中实用地编写这个。我在船上销售,船上服务,预订单上声明了三个double
数据类型的字段。如何将这些参数的boolean
值指定为免税或无税。
我想对这3个参数使用applyTax
boolean
方法。我写得像这样:
public double onboardSales;
public double onboardServices;
public double preorderSales;
public void methodName() {
if(taxArea.isEmpty()) {
//onboardSales is tax free;
//onboardServices is tax free;
//preorderSales is tax free;
}
}
public boolean applyTax(boolean b){
return b;
}
答案 0 :(得分:0)
Java是一种静态类型语言,这意味着每个字段的类型和参数在编译时都是已知的,因此您无法将text
放入boolean
。
您可以做的是声明double
,您可以为其分配Object
或Boolean
。
无论哪种方式,我都不鼓励这样做 - 至少你的代码中有一个设计气味,如果你需要这样做。
答案 1 :(得分:0)
在Java中,变量的数据类型是double或boolean。这给你留下两个选择:你可以声明一个额外的变量:
public boolean taxFree;
public double onboardSales;
public double onboardServices;
public double preorderSales;
或者您可以使用有效的双倍值(例如-1)来表示“免税”。这要求所选值在您的上下文中无效。
答案 2 :(得分:0)
您也必须为税收创建变量。该示例仅显示了板载销售。
// total value of onboard sales
public double onboardSales;
// percentage stored as double. E.g. 0.75 = 75%
public double onboardSalesTax;
public boolean applyTax(String tax){
if (( tax == null ) || (tax.trim().equals(""))
onboardSalesTax = 0;
else
// maybe you need a better parser here, that computes integers to double
// e.g. 75 to 0.75
onboardSalesTax = Double.parseDouble(tax);
}
// computes the absolute value of the tax
public boolean computeOnBoardSalesTaxAmount()
{
return onboardSales * onboardSalesTax;
}