2016-10-18 6 views
0

Was ich versuche
zu tun - ich habe eine Enumeration mit 3 Teilen: flüssige Pulver und UNKNOWN
- müssen Druck dies aus wie: Flüssigkeit oder Pulver
- nichts drucken, wenn seine unbekannten
Was ich
-make einen String var Typ versucht haben, und setzen sie ihn
-I auf null eine if-else-Kette gemacht, das, was überprüft Aufzählungswert, den das Obj hat und ändert die Zusammensetzung von String-Typ.
-und ein boolean, das Drucken ermöglicht, wenn es
nicht UNKNOWN ist - aus irgendeinem Grund, ich bin eine leere

nur immer gibt es eine einfachere Möglichkeit, die ENUM-Werte der Umwandlung von Strings in Kleinbuchstaben?
Was ist falsch in was ich mache?
Wie kann ich die Druckausgabe für eine Enum ändern, als ENUM-Werte sind alle Großbuchstaben

meinen Code
die Enum-Klasse

public enum FoundationType 
{ 
    LIQUID, 
    POWDER, 
    UNKNOWN 
} 

mein Verfahren zum Drucken

public String toString(){ 
     String type = null; 
     boolean isUnknown = false; 

     if (thisType == FoundationType.POWDER){type = "Powder";} 
     else if(thisType == FoundationType.LIQUID){type = "Liquid";} 
     else if(thisType == FoundationType.UNKNOWN){isUnknown = true;} 

     String output = null; 

     if(isUnknown){output = "Foundation" + System.lineSeparator() + 
      "Inventory ID :"+get_UniqueProductID()+""+ System.lineSeparator(); 
     }else{ 
      output = "Foundation" + System.lineSeparator() + "Base Is " +type+ "" + System.lineSeparator() + 
      "Inventory ID :"+get_UniqueProductID()+""+ System.lineSeparator() 
      + System.lineSeparator()+ System.lineSeparator(); 
     } 
     return output; 
    } 
+0

wo ist thisType definiert? Vielleicht müssen Sie die FoundationType-Enumeration als Parameter an Ihre toString() -Methode senden? –

+0

können Sie uns zeigen, wofür Sie die toString() Methode aufrufen? –

Antwort

Verwandte Themen