2016-04-21 119 views
-3

如果稅務區域爲空,那麼在船上的銷售,船上服務和預購都是免稅的。我正在嘗試在java中實際寫這個。我在船上的銷售,船上服務,預訂三個字段都是double數據類型。如何將boolean值指定爲免稅或不免稅的參數。如何將一個布爾值賦給一個雙變量?

我想爲這3個參數使用applyTaxboolean方法。我寫這樣的:

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

你不能在Java中 –

+0

邏輯做到這一點,也不會轉回去值'1'是免費的類似稅收,如果你在你的代碼中的任何一點做乘法? – SomeJavaGuy

+0

我不打算做任何乘法或任何操作。我只是想將它們分配爲免稅或不免稅。 – punit1337

回答

0

Java是一種靜態類型語言,這意味着每個字段的類型和參數是在編譯時已知,所以你不能把一個booleandouble

您可以做的是聲明一個Object,您可以將其分配給BooleanDouble。無論哪種方式,我都不鼓勵這樣做 - 如果您需要這樣做,至少在您的代碼中存在設計氣味。

+1

downvoter請澄清他的意圖。 – Timmos

0

在Java中,變量的數據類型是double或boolean。這使得你有兩個選項:您可以聲明一個額外的變量這樣的:

public boolean taxFree; 
public double onboardSales; 
public double onboardServices; 
public double preorderSales; 

或者你可以使用一個有效的雙值(例如-1)表示「稅遊離度」。這就要求,所選的值在您的上下文中無效。

+0

這個工作嗎? if(taxArea.isEmpty()){onboardSalePct = onboardServicePct = preorderSalePct = applyTax(false); } – punit1337

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; 
} 
+0

我不想在我的代碼中計算任何東西。我改變了我的onSalesSales等布爾值並將它們設置爲免稅。 – punit1337

相關問題