2016-12-08 5 views
-2

Ich habe drei Booleschen Wert aus dem Verfahren zurückkehrt, möchte ich Zustand wie folgt überprüfen: Erstens wird es 1mehrere Boolesche Werte vergleichen

Szenario alle drei Booleschen Wert überprüfen: Wenn Location, matchCapacity, filterMatchStatus dann Anweisung Rückkehr wahrer Wert.

Szenario 2: Wenn Location, matchCapacity, filterMatchStatus falls vorhanden boolean versucht es dann return false Wert

ich so falsch ist, aber es ist wahr zurückgibt, wenn eine boolean Wert

public boolean matchFilter(FilterTruck filter){ 

      boolean locationMatch = filterMatchesLocation(filter); 
      boolean matchCapacity = filterMatchesCapacity(filter); 
      boolean filterMatchStatus = filterMatchesStatus(filter); 
      if (locationMatch) { 
       return true; 
      } 
      if (matchCapacity) { 
       return true; 
      } 
      if (filterMatchStatus) { 
       return true; 
      } 
     } 
     return false; 
    } 
+2

Verwendung dieses 'if (Location && matchCapacity && filterMatchStatus) { return true; } sonst { Rückgabe false; } ' –

+1

Entfernen Sie alle if-Bedingungen und ändern Sie Ihre Rückgabeanweisung in' return (locationMatch && matchCapacity && filterMatchStatus) ' –

Antwort

1

wahr ist Aktualisiere deinen Code versuch dies.

public boolean matchFilter(FilterTruck filter) { 

    boolean locationMatch = filterMatchesLocation(filter); 
    boolean matchCapacity = filterMatchesCapacity(filter); 
    boolean filterMatchStatus = filterMatchesStatus(filter); 

    return locationMatch && matchCapacity && filterMatchStatus; 
} 
+2

Was ist die Verwendung von' if (..) 'hier? –

0
public boolean matchFilter(FilterTruck filter){ 

     boolean locationMatch = filterMatchesLocation(filter); 
     boolean matchCapacity = filterMatchesCapacity(filter); 
     boolean filterMatchStatus = filterMatchesStatus(filter); 

     return locationMatch && matchCapacity && filterMatchStatus; 
    } 

Code minimiert. Danke an @ Deepak. Im Grunde sagen Sie hier, dass nur wahr zurückgegeben wird, wenn alle 3 Variablen wahr sind. Wenn einer falsch ist, gibt die Anweisung false zurück (Boole'sche Algebra)

+2

Was ist 'if (..)' hier? –

1

Ersetzen Sie Ihren Code durch den nachstehenden Code. Verwenden Sie ‚&‘ Operator in Ihrem Fall, weil ‚&‘ wird true zurück, wenn Ausdruck den angegebenen Bedingungen erfüllen, sonst wird falsch führen

public boolean matchFilter(FilterTruck filter){ 
      boolean locationMatch = filterMatchesLocation(filter); 
      boolean matchCapacity = filterMatchesCapacity(filter); 
      boolean filterMatchStatus = filterMatchesStatus(filter); 
     return locationMatch && matchCapacity && filterMatchStatus; 
    } 
1

Entfernen Sie alle if Bedingungen und geben die folgende von Ihrer Methode

return (locationMatch && matchCapacity && filterMatchStatus); 
1

ähnlich wie bei den anderen Antworten, aber in kürzerer Form (und es hat einen einzigen Austrittspunkt!):

public boolean matchFilter(FilterTruck filter) 
{ 
    boolean locationMatch = filterMatchesLocation(filter); 
    boolean matchCapacity = filterMatchesCapacity(filter); 
    boolean filterMatchStatus = filterMatchesStatus(filter); 
    return (locationMatch && matchCapacity && filterMatchStatus) 
} 
0

diesen Code Versuchen:

public boolean matchFilter(FilterTruck filter){ 
    return filterMatchesLocation(filter) && filterMatchesCapacity(filter) && filterMatchesStatus(filter); 
} 
Verwandte Themen