Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Bitte um Code-Überprüfung :-) » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 3 Beiträge
Java_Beginner

Vielen Dank. Ich hatte zu Beginn Integer anstatt Strings, dann aber das Problem mit der führenden Null.
eulerscheZahl

Prinzipiell möglich. Ich hätte die Stunden und Minuten als int gespeichert - auch im Hinblick auf mögliche Rechnungen.
Die Ausgabe geht dann mit
code:
1:
System.out.println(String.format("%02d:%02d", stunden, minunten));

Dadurch kriegst du auch führende Nullen.
Java_Beginner Bitte um Code-Überprüfung :-)

Meine Frage:
Hallo :-)

Ich habe eine Aufgabe und den Code dazu geschrieben. Seid bitte so nett und werft einen Blick darauf, wo was verbessert werden könnte :-)

Vielen Dank.

Meine Ideen:
Die Aufgabe:

Erstellen Sie für eine Digitaluhr eine Klasse Zeit, welche Uhrzeiten in der Form ss:mm repräsentiert. Gültige Zeiten liegen zwischen 00:00 Uhr und 23:59 Uhr. Die Klasse Zeit soll eine Funktion print() besitzen, welche eine Zeit beispielsweise in der Form 07:05 ausgibt. (Und zwar genau so, also mit führender Null.) Weiterhin besitzt die Klasse Zeit einen Konstruktor, mit dem eine Initialisierung einer Zeit unter Angabe der Stunden und Minuten möglich ist. Wenn beim Anlegen eines Zeit-Objektes kei-ne Zeit angegeben wird, soll die Zeit automatisch mit 00:00 initialisiert werden. Wird beim Initialisieren eine ungültige Uhrzeit angegeben (also z.B 24:30 Uhr oder 3:67 Uhr) soll der Konstruktor die Zeit auf 00:00 setzten und eine entsprechende Fehlermeldung erzeugen. Testen nicht vergessen!


Mein Code:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:

package zeittest;

public class ZeitTest 
{
    public static void main(String[] args) 
    {
        Zeit t = new Zeit ("1","33");
        t.print();
    }
}


class Zeit 
{
    private String stunde1;
    private String minute1; 
    
    public Zeit ()
    {
        stunde1="00";
        minute1="00";
    }
    
    public Zeit (String stunde, String minute)
    {
        stunde1 = stunde;
        minute1 = minute; 
        
        if (Integer.valueOf(stunde)>23 || Integer.valueOf(stunde)<0 )
        {
            stunde1="00";
            minute1="00";
        }
        else if (Integer.valueOf(minute)>59 || Integer.valueOf(minute)<0)
        {
            stunde1="00";
            minute1="00";
        }
        else if (Integer.valueOf(stunde)>=0 && Integer.valueOf(stunde)<10) 
        {
            stunde1= "0" + stunde; 
        }
    }

    
    public void print ()
    {
        System.out.println(stunde1 + ":" + minute1);
    }
}