如何为双变量赋予布尔值?

时间:2016-04-21 09:33:39

标签: java boolean assign

如果税区为空,那么在船上销售,船上服务和预订都是免税的。我试图在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;
}

3 个答案:

答案 0 :(得分:0)

Java是一种静态类型语言,这意味着每个字段的类型和参数在编译时都是已知的,因此您无法将text放入boolean

您可以做的是声明double,您可以为其分配ObjectBoolean

无论哪种方式,我都不鼓励这样做 - 至少你的代码中有一个设计气味,如果你需要这样做。

答案 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;
}