tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
1838
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Marsik Marsik ist offline Rookie
    Registriert seit
    Dec 2008
    Beiträge
    6
    Hallo Profis, wie kann ich folg. Beispiel zu Ende br?
    public klass Test{
    enum Wochentag {
    MONTAG,
    DIENSTAG,
    MITTWOCH,
    DONNERSTAG,
    FREITAG,
    SAMSTAG,
    SONNTAG
    }

    enum Jahreszeit {
    WINTER(„Dezember bis Februar“),
    /*oder so:** WINTER(DEZEMBER,JANUAR,FEBRUAR) */ ?
    FRUEHLING(„Dezember bis Februar“),
    SOMMER(„Dezember bis Februar“),
    HERBST(„Dezember bis Februar“)




    }


    public static void main(String[] args) {

    Wochentag tag = Wochentag.MONTAG;
    System.out.println("tag = " + tag );
    if (tag < Wochentag.Samstag && tag != Wochentag.Mittwoch) {

    }



    for (Wochentag tag : Wochentag.values()) {

    switch(tag) {
    case MONTAG:
    case DINSTAG:
    case MITTWOCH: System.out.println("sind Arbeitstage");
    break;
    case DONNERSTAG: System.out.println("wird manchmal gearbeitet");
    break;
    case FREITAG: System.out.println("wird ganz selten gearbeitet");
    break;
    case SAMSTAG:
    case SONNTAG: System.out.println("sind Wochenende");
    break;
    }
    }
    }
    Jahreszeit z = Jahreszeit.Winter;
    System.out.println("aktuelle Jahreszeit: " + z );

    for (Jahreszei z : Jahreszeitvalues()) {


    switch(z) { //wie konnte man dann ausgegeben bekommen etwa so:
    //WINTER umfasst Dezember und Februar
    // FFUEHLING umfasst Maerz, April, Mai
    case WINTER:
    case FRUEHLING:
    case SOMMER:
    case HERBST:
    break;

    }
    }
    }

    }
    Geändert von Marsik (21.01.09 um 23:05 Uhr)
     

  2. #2
    The_S Tutorials.de Gastzugang
    Zu Ende br? Was ist ein "br"? Falls es "bringen" heißten soll: Was soll es denn einmal machen? Generell: Code-Tags verwenden!
     

  3. #3
    Avatar von Franz Degenhardt
    Franz Degenhardt Franz Degenhardt ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Ort
    Köln
    Beiträge
    375
    Hallo,

    viele Leute hier kopieren sich die Quelltexte der TEs in ihre IDEs um schnell und gut helfen zu können.
    Es scheint so als ob du den Quelltext mit einem Texteditor geschrieben hast ohne mal zu kompilieren. Deswegen habe ich erstmal 5 min Fehler gefixt.
    Du hilfst deinen Helfern indem du möglichst guten Code mit code tags postest. Evtl auch nur Ausschnitte, aber möglichst lauffähig.

    Deine enums sind basis enums, die ausser den Elementen und ihrer IDs, die automatisch aus der Reihenfolge erzeugt werden keine Eigenschaften wie "Dezember bis Februar" besitzen.
    Mit einer Inlinedeklaration einer passenden Methode könnte dann so eine Eigenschaft implementiert werden.
    z.B.:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
        public enum Jahreszeiten {
            WINTER, FRUEHLING, SOMMER, HERBST;
            public String getMonths() {
                switch (this) {
                case WINTER:
                    return "Jan bis Mär";
                case FRUEHLING:
                    return "Apr bis Jun";
                case SOMMER:
                    return "jul bis Aug";
                case HERBST:
                    return "Sep bis Dez";
                default:
                    return null;
                }
            }
        }
     
    Denken gefärdet die Gewohnheit

  4. #4
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.098
    Moin,

    ich würde es mal so probieren:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    public enum Jahreszeit { WINTER, FRUEHLING, SOMMER, HERBST };
     
    Jahreszeit zeit = Jahreszeit.SOMMER;
     
    switch( zeit ) 
    {
        case WINTER:
            return "Jan bis Mär";
        case FRUEHLING:
            return "Apr bis Jun";
        case SOMMER:
            return "jul bis Aug";
        case HERBST:
            return "Sep bis Dez";
        default:
            return null;
    }

    Du kannst keine Funktion innerhalb der enum deklarieren, das ist ein reiner Aufzählungstyp!

    Gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  5. #5
    Avatar von Franz Degenhardt
    Franz Degenhardt Franz Degenhardt ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Ort
    Köln
    Beiträge
    375
    Du kannst keine Funktion innerhalb der enum deklarieren, das ist ein reiner Aufzählungstyp!
    Einzig ein "final enum" würde dies verhindern. Ansonsten kann ich den Typ beliebig erweitern.
     
    Denken gefärdet die Gewohnheit

  6. #6
    Marsik Marsik ist offline Rookie
    Registriert seit
    Dec 2008
    Beiträge
    6
    Danke Danke
     

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 07.03.08, 12:51
  2. Eclipse und "org.apache.axis.enum"
    Von exitium im Forum Java
    Antworten: 2
    Letzter Beitrag: 12.09.07, 09:56
  3. Frage zu "switch"+"include"
    Von NemoFinder im Forum PHP
    Antworten: 23
    Letzter Beitrag: 04.10.05, 00:54
  4. Anfängerproblem: "enum" und switch
    Von Gismo im Forum Java
    Antworten: 2
    Letzter Beitrag: 23.01.05, 14:36
  5. Vorsicht beim "Enum-Pattern"!
    Von Thomas Darimont im Forum Java
    Antworten: 0
    Letzter Beitrag: 21.12.04, 11:57