Uhrzeit Rechnung

seymenxkaya

Aktives Mitglied
Wenn ich zu der Uhrzeit. eine bestimme Zeit dazu addiere und diese über 60 Minuten ist, dann hat ja die neue Stunde begonnen. Dies habe ich so gelöst:
Java:
// Die Uhrzeit wird um eine Stunde erhöht, da 60 Minuten erreicht wurden
                if (Minute>=60) {
                    Stunde = Stunde + 1;
                    Minute = Minute - 60;
                }
So nun ist das Problem, wenn die Uhrzeit z.B 15:45 Uhr lautet und ich z.B 18 Minuten dazu addiere, dann entsteht das Problem, dass 16:3 angezeigt wird. Das ist bei allen Zahlen von 1-9 so. Ab 10 wird die Uhrzeit korrekt angezeigt. Habt ihr Tipps für eine Rechnung?
Java:
if (Minute <10) {
                    Minute = Minute/10;
                }
Das klappt nicht, außerdem will ich keine Komma in der Uhrzeit.
 

Tarrew

Top Contributor
Du schreibst zwar nicht, wie du deine Uhrzeiten speicherst und ausgibst etc, aber wenn du nur führende Nullen ausgeben willst, geht das mit String.format
Java:
IntStream.range(0,20).forEach(e->System.out.println(String.format("%02d", e)));
 

seymenxkaya

Aktives Mitglied
Du schreibst zwar nicht, wie du deine Uhrzeiten speicherst und ausgibst etc, aber wenn du nur führende Nullen ausgeben willst, geht das mit String.format
Java:
IntStream.range(0,20).forEach(e->System.out.println(String.format("%02d", e)));
Ich arbeite mit der GUI und dort mit Comboboxen und Labels.
Java:
    int Stunde = 0, Minute = 0, Dauer = 0;
Die Uhrzeit ist ein int aufgeteilt in Stunde und Minute. Die Dauer wird dazu addiert.
Java:
if (ZeitBox.getSelectedIndex() == 0) {
                Stunde = 0;
                Minute = 0;
                Minute = Minute + Dauer;
else if (ZeitBox.getSelectedIndex() == 38) {
                Stunde = 3;
                Minute = 10;
                Minute = Minute + Dauer;
            }
                }
2 Beispiele wie ich das getan habe. Aber ja ich will einfach nur eine Null vor den Zahlen 0-9. Ich glaube das geht nicht mit deinem Code, da da System.out.println drin steht und beim testen ging die Console auf.
 

Tarrew

Top Contributor
Naja, das System.out.println lässt du einfach weg. Das war nur ein Beispiel von mir. Du brauchst du nur den Teil mit dem String.format.
Mit dem formatierten String kannst du dann machen was du willst.

Nochmal als Ergänzung:
Du arbeitest mit int's, da gibt es keine führenden Nullen. Es gibt keinen Unterschied zwischen 5 und 05. Das betrifft nur die Ausgabe als String. Da kannst du deinen Integer 5 dann als "05" darstellen (mit String.format z.B.) und in ein beliebiges GUI-Element schreiben. Speichern tust du die Minuten weiterhin wie gehabt, es gibt keine Möglichkeit ein int als "05" zu speichern.

#Edit2: Ah, da war mein erster Edit garnicht nötig, kneitzel hats dir auch nochmal beschrieben ;)
 
Zuletzt bearbeitet:
K

kneitzel

Gast
Du musst unterscheiden zwischen der Zahl und der Darstellung. Die Zahl ist so, wie Du sie speicherst korrekt. Das ist einfach nur ein Wert ohne Information dazu, wie diese dargestellt wird. So gibt es viele Wege, wie eine Zahl dargestellt wird (So z.B. in unterschiedlichen Systemen, die 15 im Dezimalsystem ist dann z.B F im Hexadezimalsystem. Aber es gibt ja auch noch so Dinge wie Tausenderzeichen, also z.B. bei 1000 kann die Darstellung 1.000 sein (. als Tausenderzeichen).

Bei der Darstellung wird in der Regel Text dargestellt, d.h. die Zahl wird dann in Zeichen umgewandelt und diese dann angezeigt.
Dazu dient z.B. String,format und der Aufruf String.format("%02d", zahl) erstellt auf der Zahl in der Variable zahl einen String, die dann zweistellig dargestellt wird.

Wenn Du ein GUI Element hast, dann kannst Du also den String, den so ein String.format Aufruf zurück gibt, zuweisen.
 

seymenxkaya

Aktives Mitglied
Bei der Darstellung wird in der Regel Text dargestellt, d.h. die Zahl wird dann in Zeichen umgewandelt und diese dann angezeigt.
Dazu dient z.B. String,format und der Aufruf String.format("%02d", zahl) erstellt auf der Zahl in der Variable zahl einen String, die dann zweistellig dargestellt wird.
Danke habe es jetzt verstanden. Meine Lösung sieht wie folgt aus:
Java:
if (Minute <10) {
                Ausgabe = String.format("%02d", Minute);
                }
Java:
if(Minute >= 10) {
                LabelErgebnis.setText("Du wirst um " + Stunde + "." + Minute + " Uhr an deinem Ziel ankommen.");
                }
                else if (Minute <10) {
                LabelErgebnis.setText("Du wirst um " + Stunde + "." + Ausgabe + " Uhr an deinem Ziel ankommen.");
                }
 
K

kneitzel

Gast
Das if/else kannst Du Dir sogar sparen. Diese Formatierung funktioniert auch mit zweistelligen Zahlen, so dass die Ausgabe auch dann wie gewünscht sein müsste. Also sowas wie:
Code:
LabelErgebnis.setText("Du wirst um " + Stunde + "." + String.format("%02d", Minute) + " Uhr an deinem Ziel ankommen.");
 

seymenxkaya

Aktives Mitglied
Das if/else kannst Du Dir sogar sparen. Diese Formatierung funktioniert auch mit zweistelligen Zahlen, so dass die Ausgabe auch dann wie gewünscht sein müsste. Also sowas wie:
Code:
LabelErgebnis.setText("Du wirst um " + Stunde + "." + String.format("%02d", Minute) + " Uhr an deinem Ziel ankommen.");
Aber würde dann die 25 nicht mit 025 ausgegeben?
 
K

kneitzel

Gast
Dazu würde ich einfach vorschlagen:
a) Probier es einfach einmal aus :)
b) Such nach eine Dokumentation - oder die Beispiele, z.B. auf https://dzone.com/articles/java-string-format-examples
c) Kurze Erklärung von meiner Seite:
Generell ist es so, dass %d für einen Integer Wert steht
Zwischen das % und das d kann man dann eine Zahl setzen (ohne führende 0!) und das ist dann die Anzahl der Stellen.
Also String.format("%3d, 1) gibt dann " 1" aus. (Also zwei führende Leerzeichen.
Nun könnte man eine führende 0 davor setzen. Dann wird statt Leerzeichen mit 0 aufgefüllt:
String.format("%03d, 1) gibt dann "001" aus. (Also zwei führende Leerzeichen.)

Ein paar mehr Möglichkeiten gibt es noch (mit + und - dabei), aber das war erst einmal die Erläuterung, die für das Verwendete wichtig ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Datum und Uhrzeit Java Basics - Anfänger-Themen 4
A Frage zur Aufgabe Uhrzeit einstellen mit Objekten Java Basics - Anfänger-Themen 18
F Zeitspanne bis zur nächsten Uhrzeit Java Basics - Anfänger-Themen 7
OlafHD Java Uhrzeit aktualisiert sich nicht Java Basics - Anfänger-Themen 2
A veränderliche Uhrzeit einmalig speichern Java Basics - Anfänger-Themen 3
F Thread um Uhrzeit ausführen Java Basics - Anfänger-Themen 5
I Java Uhrzeit Java Basics - Anfänger-Themen 2
2 Uhrzeit und Datum aktualisieren Java Basics - Anfänger-Themen 12
M Datum in Millisekunden allerdings ohne Uhrzeit Java Basics - Anfänger-Themen 4
J Datum und Uhrzeit in Datenbank falsch hinterlegt Java Basics - Anfänger-Themen 13
H Erste Schritte Sekunden in Uhrzeit Java Basics - Anfänger-Themen 7
H Erste Schritte Aktuelle Uhrzeit auslesen Java Basics - Anfänger-Themen 64
H Erste Schritte Uhrzeit anzeigen in Minuten Dezimal Java Basics - Anfänger-Themen 8
D currentTimeMillis Uhrzeit Java Basics - Anfänger-Themen 8
K Datum und Uhrzeit als Date Objekt Java Basics - Anfänger-Themen 10
Blindxantos Datentypen Uhrzeit in einem Attribut speichern Java Basics - Anfänger-Themen 3
G Uhrzeit als String in Integer (HH:MM:SS) Java Basics - Anfänger-Themen 5
B Von Uhrzeit 5 min abziehen Java Basics - Anfänger-Themen 5
B Uhrzeit vom Benutzer eingeben lassen. Java Basics - Anfänger-Themen 5
E Datum und Uhrzeit von UTC in MET umrechnen Java Basics - Anfänger-Themen 6
E Methoden Datum , Uhrzeit, Nachricht in txt Datei schreiben Java Basics - Anfänger-Themen 3
S Millisekunden in Datum/Uhrzeit wandeln Java Basics - Anfänger-Themen 11
S Rechnen mit Datum bzw. Uhrzeit Java Basics - Anfänger-Themen 3
P double in Uhrzeit umwandeln Java Basics - Anfänger-Themen 10
D Meldung zu bestimmter Uhrzeit Java Basics - Anfänger-Themen 9
F Uhrzeit von Webseite Java Basics - Anfänger-Themen 7
K String.matches Uhrzeit Java Basics - Anfänger-Themen 2
M mit Uhrzeit rechnen Java Basics - Anfänger-Themen 11
G Date von heute mit Uhrzeit erzeugen Java Basics - Anfänger-Themen 9
R Uhrzeit in JFrame anzeigen Java Basics - Anfänger-Themen 12
B XML? Für Uhrzeit und Datum für mein HP? Java Basics - Anfänger-Themen 6
L Dateiname mit Uhrzeit Java Basics - Anfänger-Themen 26
A Uhrzeit und Datum Java Basics - Anfänger-Themen 10
J uhrzeit programmieren Java Basics - Anfänger-Themen 5
C Anzahl der Sekunden aus Uhrzeit extrahieren Java Basics - Anfänger-Themen 6
P Uhrzeit für die Klasse Minute umwandeln. Java Basics - Anfänger-Themen 3
G Datum / Uhrzeit? Java Basics - Anfänger-Themen 3
G Uhrzeit hh:mm:ss in minuten umrechnen Java Basics - Anfänger-Themen 4
G problem mit uhrzeit Java Basics - Anfänger-Themen 8
D Probleme mit dem Datum / Uhrzeit Java Basics - Anfänger-Themen 3
T Uhrzeit und Zeitzone? Java Basics - Anfänger-Themen 3
C Uhrzeit auslesen Java Basics - Anfänger-Themen 6
S long millisekunden nach Uhrzeit format Java Basics - Anfänger-Themen 5
O uhrzeit mit einander vergleichen Java Basics - Anfänger-Themen 10
G Datum und Uhrzeit in einem String suchen und ausgeben Java Basics - Anfänger-Themen 2
M Uhrzeit Variable aus TimeTask in jTextField anzeigen Java Basics - Anfänger-Themen 4
P JOptionPane bei bestimmter Uhrzeit anzeigen Java Basics - Anfänger-Themen 2
T Event zu bestimmter Uhrzeit auslösen ? Java Basics - Anfänger-Themen 5
G Auf eine Uhrzeit xx Minuten addieren u. mit Akt. Zeit vergl. Java Basics - Anfänger-Themen 5
V Uhrzeit Java Basics - Anfänger-Themen 8
H Uhrzeit wird nicht aktualisiert Java Basics - Anfänger-Themen 15
K Datum und Uhrzeit erfragen Java Basics - Anfänger-Themen 3
G Datum und Uhrzeit in Sekunden konvertiern Java Basics - Anfänger-Themen 4
C aus string-file uhrzeit auslesen?? Java Basics - Anfänger-Themen 4
I Review von euch erwünscht, double Rechnung falsch Java Basics - Anfänger-Themen 34
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
L Geteilt Rechnung mit Nachkomma? Java Basics - Anfänger-Themen 4
3 Taschrechner Rechnung durchführen Java Basics - Anfänger-Themen 8
K Rechnung in Java Java Basics - Anfänger-Themen 6
S Wie Typecaste ich nur das Ergebniss einer Rechnung ? Java Basics - Anfänger-Themen 7
B Rechnung ohne Klammer liefert komisches Ergebniss Java Basics - Anfänger-Themen 3
S Simple Rechnung ist fehlerhaft! Java Basics - Anfänger-Themen 13
M Vektor Rechnung Java Basics - Anfänger-Themen 6
V Erste Schritte Einfache Rechnung mit Exponenten Java Basics - Anfänger-Themen 3
R Erste Schritte Taschenrechner - Punkt-vor-Strich Rechnung Java Basics - Anfänger-Themen 1
S Variablen Rechenzeichen als Variablen in Rechnung einbinden Java Basics - Anfänger-Themen 4
L Erste Schritte Programm Bestellung/Rechnung addieren Java Basics - Anfänger-Themen 3
M Erste Schritte Nachkommastellen falsch bei Rechnung Java Basics - Anfänger-Themen 3
E Problem mit modulo Rechnung Java Basics - Anfänger-Themen 8
L Rechnung Java Basics - Anfänger-Themen 13
C String Rechnung in Int Java Basics - Anfänger-Themen 8
D Mathematische Rechnung als String Java Basics - Anfänger-Themen 4
K "Simple" Rechnung in Java Java Basics - Anfänger-Themen 3
M Einfache Rechnung(R=U/I) Java Basics - Anfänger-Themen 12
B Rechnung per Hand anders als von Java Java Basics - Anfänger-Themen 6
F Mal rechnung Java Basics - Anfänger-Themen 2
M Normale Rechnung - komisches Ergebnis. Java Basics - Anfänger-Themen 10
truesoul Skalierungs-Rechnung Java Basics - Anfänger-Themen 2
B Frage zu einfacher Rechnung Java Basics - Anfänger-Themen 3
K Kombifeld auswählen, rechnung sofort ausführen Java Basics - Anfänger-Themen 11
G Eingebener Wert nach Rechnung wieder original ausgeben. Java Basics - Anfänger-Themen 6
A Sandhaufen Rechnung mit Schubkarre Java Basics - Anfänger-Themen 9
S Einfache Rechnung mit Schleife Java Basics - Anfänger-Themen 10
F Von int zu double bei einfacher Rechnung Java Basics - Anfänger-Themen 2
D Probleme bei einfacher Rechnung Java Basics - Anfänger-Themen 3
D Rechnung Java Basics - Anfänger-Themen 4
R switch erlaubt keine float/double-Rechnung Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben