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

Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Bitte um Code-Überprüfung :-) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Bitte um Code-Überprüfung :-)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Java_Beginner
unregistriert
Bitte um Code-Überprüfung :-) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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);
    }
}

07.12.2015 04:33
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.

__________________
Syntax Highlighting fürs Board (Link)
07.12.2015 06:23 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Java_Beginner
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Vielen Dank. Ich hatte zu Beginn Integer anstatt Strings, dann aber das Problem mit der führenden Null.
07.12.2015 06:33
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Bitte um Code-Überprüfung :-)