tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von sheel
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
670
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    AnnasHund AnnasHund ist offline Grünschnabel
    Registriert seit
    Sep 2011
    Beiträge
    1
    Guten Tag allerseits,

    Auf der Suche nach einer Funktion die mir zurück geben soll wie viele Möglichkeiten ein Enum hat (sprich wenn im nachfolgenden Beispiel, wäre die gewünschte Antwort 7, da sieben Tage enthalten sind)
    Beispiel:
    Code :
    1
    2
    3
    
    public enum Wochentage {
        MONTAG,DIENSTAG,MITTWOCH,DONNERSTAG,FREITAG,SAMSTAG,SONNTAG;
    }
    bin ich über etwas gestolpert.
    Und zwar: Im Internet habe ich einen Code-Schnipsel gefunden und etwas modifiziert:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    private static int anzahlEnums() {
        int i = 0;
        for (Wochentage day : Wochentage.values()) {
            i++;
        }
        return i;
    }
    Diese Funktion macht auch das was ich möchte. Ich habe nur keine Ahnung warum die for-Schleife funktioniert, denn ich kenne sie sie nur so:
    Code :
    1
    2
    3
    
    for (Initialisierung; Bedingung; Update){
      Anweisung(en);
    }

    Wäre schön wenn mir das jemand erklären könnte. Danke im voraus.
     

  2. #2
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.502
    Hi und Willkommen bei tutorials.de

    Das ist eine andere Schreibweise von for,
    bei der irgendetwas mit mehreren Werten (wie ein Array etc.)
    komplett durchgegangen wird und der Schleifeninhalt
    für jedes Element ausgeführt wird.

    Das aktuelle Element kann man (in deinem Beispiel) mit day ansprechen.
    Du brauchst das aber nicht, sondern zählst nur..

    ...
    Am Beispiel Array wäre sowas
    Code java:
    1
    2
    3
    4
    5
    
    int[] array;
    ...
    int i;
    for(i = 0; i < array.length; i++)
        System.out.println(array[i]);
    das Gleiche wie
    Code java:
    1
    2
    3
    4
    
    int[] array;
    ...
    for(int aktuell : array)
        System.out.println(aktuell);

    Gruß
    AnnasHund bedankt sich. 
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    Avatar von j2se
    j2se j2se ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    94
    Blog-Einträge
    1
    In früheren Java Versionen war das Durchlaufen einer Collection mit viel Tipparbeit verbunden, so dass man seit java 1.5 eine for-each-Schleife mit stark vereinfachter Syntax eingeführt hat. Mehr dazu findet man unter http://docs.oracle.com/javase/1.5.0/...e/foreach.html
     

Ähnliche Themen

  1. Alternativer Inhalt bei CS3
    Von hinkel11 im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 14.04.09, 12:16
  2. Alternativer Text anzeigen
    Von Knuffel82 im Forum Coders Talk
    Antworten: 1
    Letzter Beitrag: 01.02.06, 09:26
  3. alternativer browser für macOS 9
    Von aTa im Forum Mac OS
    Antworten: 6
    Letzter Beitrag: 11.11.04, 20:52
  4. Alternativer Dateibrowser
    Von suntrop im Forum Microsoft Windows
    Antworten: 4
    Letzter Beitrag: 20.09.04, 22:45
  5. Antworten: 2
    Letzter Beitrag: 19.02.03, 09:40

Stichworte