Index

Erstellen einfacher Programme

3. Programmieren mit JavaTM (c)


c) Selektion

Programm Uhr

(Beispiel unter Verwendung der Systemzeit)

Um später nicht umlernen zu müssen, werden wir von Anfang an die richtige Bezeichnungen (z.B. Objekt. Klasse und Methoden) benutzen, auch wenn diese Begriffe erst im Laufe des Kurses sauber eingeführt werden.

Problemstellung:

Es soll die aktuelle Uhrzeit ermittelt werden, und anschließend in Abhängigkeit der Uhrzeit
"Guten Morgen! ..." bzw.
"Guten Tag! Es ist jetzt ... Uhr." ausgegeben werden.

 

Wir verwenden die Klasse Date. Hierbei wird die Systemuhr des Rechners nach dem Datum gefragt. Dabei enthält das Datum auch Informationen über die Uhrzeit, wie aktuelle Stunde, Minute, etc.)

import java.util.*;
public class Uhr {
  public static void main(String args[]) {
    Date datum = new Date();
    int h = datum.getHours();
    int min = datum.getMinutes();
    if (h < 12) {
       System.out.print("Guten Morgen! ");
    }
    else {
       System.out.print("Guten Tag! ");
    }
    System.out.println("Es ist jetzt: " + h + ":" + min + " Uhr.");
  }
}

In der Klasse Date kann man die oben genannten Informationen bekommen. Dazu wird ein Objekt datum der Klasse erzeugt:

    Date datum = new Date();

Mit den Methoden getHour() und getMinutes(), die man auf das Objekt datum anwendet, werden die Stunde und die Minute ermittelt und der Wert in einer int-Variablen h bzw. min gespeichert. Die Klasse Date liegt im Paket java.util, weshalb wir dieses Paket mit import java.util.*; bereitstellen. Der Rest des Programms erklärt sich selbst.

Wenn, wie im Beispiel, nur alternative Ergebnisse erforderlich sind, so wie hier der Text "Guten Morgen" bzw. "Guten Tag", kann in Java auch die Technik der alternativen Zuweisung verwendet werden:

  Variable = (Bedingung) ? Wahr-Ausdruck : Falsch-Ausdruck;

Diese Anweisung weist der Variablen den Wert des Wahr-Ausdrucks zu, falls die Bedingung wahr ist, sonst der´n Wert des Falsch-Ausdrucks.
Im Programm-Beispiel kann also statt der if...else...-Anweisung folgende alternative Zuweisung verwendet werden:

    String gruss = (h < 12) ? "Guten Morgen! " : "Guten Tag! ";
    System.out.println(gruss + "Es ist jetzt: " + h + ":" + min + " Uhr.");

[Index] [Zurück/Java c.i)] [Fortsetzung/Java c.iii)]


Autor: Jürgen Dehmer
Letzte Änderung: 01. Februar 2003