2016-04-21 22 views
-3

Wenn der Steuerbereich leer ist, dann sind an Bord von Bordservices und Vorbestellungen steuerfrei. Ich versuche das pragmatisch in Java zu schreiben. Ich habe an Bord Verkäufe, an Bord Dienstleistungen, Vorbestellungen als drei Felder erklärt, die vom double Datentyp sind. Wie kann ich diesen Parametern einen boolean Wert als steuerfrei zuweisen oder nicht?Wie kann ich einer doppelten Variablen einen booleschen Wert zuweisen?

Ich möchte die applyTaxboolean Methode für diese 3 Parameter verwenden. Ich habe es wie folgt geschrieben:

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

Sie kann diese –

+0

logisch in Java tun, würde nicht den Wert '1' so etwas wie steuerfrei sein, wenn Sie in Ihrem Code eine Multiplikation an irgendeiner Stelle tun? – SomeJavaGuy

+0

Ich werde keine Multiplikation oder Operationen durchführen. Ich möchte sie nur als steuerfrei oder nicht zuweisen. – punit1337

Antwort

0

Java eine statisch typisierte Sprache ist, was bedeutet, dass die Art der einzelnen Felder und Parameter bei der Kompilierung bekannt ist, so kann man nicht ein boolean in einem double setzen.

Sie können eine Object deklarieren, der Sie eine oder eine Double zuweisen können.

So oder so, ich rate davon ab - zumindest gibt es einen Design-Geruch in Ihrem Code, wenn Sie das tun müssen.

+1

mehr Informationen als die boolean benötigen. Kann der downvoter bitte seine Absichten erklären. – Timmos

0

In Java ist der Datentyp Ihrer Variablen entweder doppelt oder boolesch. Das lässt Sie mit zwei Möglichkeiten: Sie können entweder eine zusätzliche Variable wie das erklären:

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

Oder Sie können einen gültigen doppelten Wert (z -1) verwenden, um „Steuer Mahlgrad“ anzuzeigen. Dies erfordert, dass der gewählte Wert in Ihrem Kontext nicht gültig ist.

+0

Würde das funktionieren? if (taxArea.isEmpty()) { onboardSalePct = on-boardServicePct = preorderSalePct = applyTax (false); } – punit1337

0

Sie müssen auch eine Variable für die Steuer erstellen. Das Beispiel zeigt nur die Onboard-Verkäufe.

// 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

Ich versuche nicht, irgendetwas in meinem Code zu berechnen. Ich habe meine onboardSales, etc zu boolean geändert und sie als steuerfrei gesetzt. – punit1337

Verwandte Themen