Ergebnis 1 bis 11 von 11

Thema: [Tutorial] Java #3 - Kontrolle ist wichtig

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat
    Sun (bzw. jetzt Oracle) hat für Java Programmierregeln aufgestellt, die man auch bestmöglich einhalten sollte.
    Sind es nicht bewusst Empfehlungen statt Regeln?

    Zitat Zitat
    Die Case-Anweisung würde durch die Regeln durchfallen, da hier feste Zahlen im Spiel sind
    Wie wäre denn dann die von Sun präferierte Lösung dieses Statements? Ich bin da gerade etwas ratlos, ich habe diese Art von Code auch in Java schon oft gesehen ...

    Und was ich noch zum Ursprungspost sagen wollte: Nett geschrieben und meiner Meinung nach auch verständlich. Fortfahren würde ich aber nicht mit Schleifen, sondern mit Eingabemöglichkeitnen (über Scanner). Das hat den Charme, das man dann mit den schon vorgestellen Techniken (Ausgabe, Variablen, Kontrollstrukturen, Eingabe) Programme schreiben, die auch wirklich etwas tun und benutzbar sind. Zwar nur kleine Spielereien, aber ich glaube, wer diesen Kurs wirklich benutzt, um zu lernen, für den ist das viel wert. Womit ich mich auch ein bißchen frage: Liest eigentlich jemand diesen Kurs wirklich, um damit Java zu lernen oder lesen hier nur Leute mit, die das sowieso schon können?

  2. #2
    Zitat Zitat von Miau Beitrag anzeigen
    Wie wäre denn dann die von Sun präferierte Lösung dieses Statements? Ich bin da gerade etwas ratlos, ich habe diese Art von Code auch in Java schon oft gesehen ...
    Wie ich schon sagte: Enumerator (Aufzählungstyp).
    Enums sind eine Spezialklassse.
    Code:
    public enum Months {
      JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE,
      JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER
    }
    Java baut daraus automatisch eine eigene Klasse, die so aussieht

    Code:
    class Months extends Enum { 
      public static final Weekday JANUARY  = new Months( "JANUARY",   0 ); 
      public static final Weekday FEBRUARY = new Months( "FEBRUARY ", 1 ); 
      ... 
     
      private Months( String s, int i ) { 
        super( s, i ); 
      }
    }
    Dann würde die Case-Anweisung z.B. wie folgt aussehen:

    Code:
    Months month = Months.FEBRUARY;
    
    switch(month) {
      case JANUARY: ...
      case FEBRUARY: ...
      ...
    }
    Bei der Ampel würde das dann ähnlich aussehen. Nur dass wir hier drei werte im Enum haben: RED, YELLOW, GREEN

    Sowas lässt sich auch besser lesen als Zahlen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •