Zeitintervall erstellen: z.B. 4000 Sekunden = 01:06:40

Alpinwhite

Aktives Mitglied
Hallo, im Studium sollen wir ein Zeitintervall erstellen, dass eine Sekunden-Eingabe vom Benutzer in hh:mm:ss umrechnet. Wir haben leider keine richtige Einweisung bekommen und müssen alles mehr oder weniger im Selbststudium erarbeiten, daher glaube ich auch dass die while-Schleife noch nicht richtig ist, wie sie ist. Im Moment kann ich lediglich eine Zahl in das Programm eingeben und dann ist keine Eingabe mehr möglich. Folgendes Schema habe ich mir überlegt:

public class Zeitintervall {
public static void main ( String[] args) {
int stunden=0;
int minuten=0;
int sekunden=0;
int zeit=0;
int rest=0;

System.out.println("Geben Sie einen Zeitintervall ein:");
zeit=Input.readInt();

while (zeit<360000 && zeit>0); {
stunden=(zeit/3600);
rest=(zeit-3600*stunden);
minuten=rest/60;
sekunden=rest-60*minuten;

System.out.println("stunden" + ":" + "minuten" + ":" + "sekunden");

}
while (zeit>=360000 && zeit<0) {
System.out.println("Ungültige Zahl");
}
}

}
 

krgewb

Top Contributor
Das ist dein Code:
Java:
public class Zeitintervall {
	public static void main(String[] args) {
		int stunden = 0;
		int minuten = 0;
		int sekunden = 0;
		int zeit = 0;
		int rest = 0;

		System.out.println("Geben Sie einen Zeitintervall ein:");
		zeit = Input.readInt();

		while (zeit < 360000 && zeit > 0)
			;
		{
			stunden = (zeit / 3600);
			rest = (zeit - 3600 * stunden);
			minuten = rest / 60;
			sekunden = rest - 60 * minuten;

			System.out.println("stunden" + ":" + "minuten" + ":" + "sekunden");

		}
		while (zeit >= 360000 && zeit < 0) {
			System.out.println("Ungültige Zahl");
		}
	}

}

Bei mir kompiliert es nicht. Schuld ist das Input in folgender Zeile:
Java:
zeit = Input.readInt();

Deine While-Schleife funktioniert wahrscheinlich nicht wegen dem Semikolon:
Java:
while (zeit < 360000 && zeit > 0)
	;
{
 

VfL_Freak

Top Contributor
Moin,
vielleicht ein Satz zur Erklärung :
Bei mir kompiliert es nicht. Schuld ist das Input in folgender Zeile:
zeit = Input.readInt();
Die Variable "Input" gibt es nicht! Du musst sie vorher deklarieren!!

Deine While-Schleife funktioniert wahrscheinlich nicht wegen dem Semikolon
Nicht nur wahrscheinlich, sondern mit mit Sicherheit :D
Das Semikolon beendet den Befehl und der nachfolgende Block wird dadurch sequentiell, also genau einmal, durchlaufen!

VG Klaus
 

Robat

Top Contributor
An Unis ist es üblich dass die Studenten eine Klasse gestellt bekommen um Eingaben von der Konsole vorzunehmen.
Daher würde ich einfach mal in den Raum werfen dass Input keine Variable ist.
Input wird eine Klasse mit der statischen Methode readInt() sein.

while (zeit >= 360000 && zeit < 0) {
System.out.println("Ungültige Zahl");
}
Bist du dir sicher dass du hier eine while Schleife benutzen willst?
 

VfL_Freak

Top Contributor
Moinsen,
An Unis ist es üblich dass die Studenten eine Klasse gestellt bekommen um Eingaben von der Konsole vorzunehmen.
Daher würde ich einfach mal in den Raum werfen dass Input keine Variable ist.
Input wird eine Klasse mit der statischen Methode readInt() sein.
ok, wenn's ein statischer Aufruf ist, hast Du natürlich Recht!
Ich hatte jetzt irgendwie einen Scanner im Hinterkopf und dachte an eine entsprechende Objektvariable ...

VG Klaus

EDIT: guter Einwand mit der while-Schleife :)
 

Alpinwhite

Aktives Mitglied
Ok das Semikolon habe ich entfernt. Ich habe nochmal kompiliert und eine Zahl eingeben, danach wird unendlich oft "Stunden:Minuten:Sekunden" ausgegeben.

Bist du dir sicher dass du hier eine while Schleife benutzen willst?

Nein leider nicht, das ist mein erstes Programm. Wäre es dann so besser:
else {
system.out.print("Ungültige Zahl")

Ja wir haben eine Klasse gestellt bekommen für ungültige Eingaben
 

Robat

Top Contributor
danach wird unendlich oft "Stunden:Minuten:Sekunden" ausgegeben
Jetzt überleg mal warum das so sein könnte.


Mit einem else würde das Programm nicht compilieren. Überleg noch mal oder schau noch mal nach was es für Kontrollstrukturen in der Programmierung gibt und welche für den Fall "WENN etwas ist Dann tue was" geeignet wäre.
 

krgewb

Top Contributor
Java:
System.out.println("stunden" + ":" + "minuten" + ":" + "sekunden");
Die Anführungszeichen müssen weg.

PS: Den Rest einer Division kann man auch mithilfe des Modulo-Operators ( Prozentzeichen % ) berechnen.
 

Alpinwhite

Aktives Mitglied
Jetzt überleg mal warum das so sein könnte.


Mit einem else würde das Programm nicht compilieren. Überleg noch mal oder schau noch mal nach was es für Kontrollstrukturen in der Programmierung gibt und welche für den Fall "WENN etwas ist Dann tue was" geeignet wäre.

Ah! Ja natürlich. Habe es jetzt so zum Laufen gebracht:

public class Zeitintervall {
public static void main ( String[] args) {
int stunden = 0;
int minuten = 0;
int sekunden = 0;
int zeit;
int rest;


System.out.println("Geben Sie einen Zeitintervall ein:");
zeit=Input.readInt();

if (zeit < 360000 && zeit >= 0) {
stunden=(zeit/3600);
rest=(zeit-3600*stunden);
minuten=rest/60;
sekunden=rest-60*minuten;

System.out.println(stunden + ":" + minuten + ":" + sekunden);

}
else {
System.out.println("Ungültige Zahl");
}
}

}


Was mir allerdings noch nicht gefällt ist wenn ich z.B. 354 Sekunden eingebe zeigt er 0:5:54 an und nicht 00:05:54.
 

Alpinwhite

Aktives Mitglied
Java:
public class Zeitintervall8 {
    public static void main ( String[] args) {
    int stunden = 0;
    int minuten = 0;
    int sekunden = 0;
    int zeit;
    int rest;
    String hh, mm, ss;
   
   
    System.out.println("Geben Sie einen Zeitintervall ein:");
        zeit=Input.readInt();
       
        if (zeit < 360000 && zeit >= 0) {
        stunden=(zeit/3600);
        rest=(zeit-3600*stunden);
        minuten=rest/60;
        sekunden=rest-60*minuten;
       
       
        }
        else if (zeit > 360000) {
        System.out.println("Die eingegebene Zeitspanne ist zu groß");
    }
        else if (zeit < 0) {
        System.out.println("Die eingegebene Zeitspanne darf nicht negativ sein!");
        }
        if (stunden < 10) {
            hh=0 + minuten;
        } else {
            hh="0" + minuten;
        }   
        if (minuten < 10) {
            mm="0" + minuten;
        } else {
            mm="" + minuten;
        }
        if (sekunden < 10) {
            ss="0" + sekunden;
        } else {
            ss="" + sekunden;
        }
        System.out.println(hh + ":" + mm + ":" + ss);
    }   
        }

Ich stehe immer noch vor dem Problem dass keine 0 vor Einzelnen Zahlen angezeigt wird. Also 3:2:54 anstatt 03:02:54. Ich habe versucht es so zu lösen, aber das funktioniert nicht und das mit printf verstehe ich nicht. Wo liegt der Fehler?
 

JStein52

Top Contributor
Und wenn du es unbedingt selbst machen willst dann hast du einfach ein bisschen geschludert und ein paar Verschreiber drin:
Code:
        if (stunden < 10) {
            hh = "0" + stunden;
        } else {
            hh = "" + stunden;
        }
        if (minuten < 10) {
            mm = "0" + minuten;
        } else {
            mm = "" + minuten;
        }
        if (sekunden < 10) {
            ss = "0" + sekunden;
        } else {
            ss = "" + sekunden;
        }
        System.out.println(hh + ":" + mm + ":" + ss);
 

Alpinwhite

Aktives Mitglied
Der "Fehler" ist dass du nicht printf benutzt. Was daran verstehst du nicht ? Hier ist auch ein Beispiel mit führenden Nullen dabei:

http://openbook.rheinwerk-verlag.de...tml#dodtp502391df-4eac-4eb6-a246-312c07a323f4

Ja ich weiß leider nicht, wie man das richtig schreibt. Wie gesagt das ist mein erstes Programm und bei den Beispielen aus dem Link werde ich leider auch nicht schlau. Ich habe es jetzt so versucht, was nicht funktioniert:

Code:
public class Zeitintervall14 {
    public static void main ( String[] args) {
    int stunden = 0;
    int minuten = 0;
    int sekunden = 0;
    int zeit;
    int rest;
    String hh, mm, ss;
   
   
    System.out.println("Geben Sie einen Zeitintervall ein:");
        zeit=Input.readInt();
       
        if (zeit < 360000 && zeit >= 0) {
        stunden=(zeit/3600);
        rest=(zeit-3600*stunden);
        minuten=rest/60;
        sekunden=rest-60*minuten;
       
       
        }
        else if (zeit > 360000) {
        System.out.println("Die eingegebene Zeitspanne ist zu groß");
    }
        else if (zeit < 0) {
        System.out.println("Die eingegebene Zeitspanne darf nicht negativ sein!");
        }
        for ( int i = 1 ; i < 10; i++ )
        System.out.printf(%0 + stunden + ":" + %0 + minuten +":" + %0 + sekunden);
    }   
        }
 

krgewb

Top Contributor
Beispiel:
Java:
PrintStream o = System.out;
int zahl = 321;
o.printf("%05d",  zahl);

Ausgabe:
00321
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C In einem Zeitintervall einen Int-Wert ändern Java Basics - Anfänger-Themen 3
A exe Datei erstellen Java Basics - Anfänger-Themen 8
J Packages erstellen Java Basics - Anfänger-Themen 7
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
C Gewinnspiel erstellen mit Algorithmus Java Basics - Anfänger-Themen 3
Ostkreuz Spielfeld Schatz erstellen Java Basics - Anfänger-Themen 5
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
B Klasse statisch erstellen da n-mal geladen Java Basics - Anfänger-Themen 3
laxla123 Dreieck erstellen Java Basics - Anfänger-Themen 1
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
A Passwort erstellen Java Basics - Anfänger-Themen 3
S CVS erstellen Java Basics - Anfänger-Themen 1
RashAGhul Java Verwaltungstool Erstellen mit kaum Wissen Java Basics - Anfänger-Themen 9
K warum kann ich das Objekt nicht erstellen ? Java Basics - Anfänger-Themen 2
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
dennis_lnz Klassen Wie kann ich mein Java Textadventure verbessern, um ein Klassendiagramm zu erstellen? Java Basics - Anfänger-Themen 9
dcHost Java Kara Sensor erstellen Java Basics - Anfänger-Themen 1
JustAProgrammer Ein Dreieck mit Arrays erstellen Java Basics - Anfänger-Themen 2
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U JList erstellen Java Basics - Anfänger-Themen 2
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
frager2345 Programm erstellen ohne Autoboxing und Unboxing Java Basics - Anfänger-Themen 13
berserkerdq2 IO Streams logfile erstellen und Sachen schreiben wie? Java Basics - Anfänger-Themen 2
B Teilprofil erstellen Java Basics - Anfänger-Themen 1
B Teilprofil erstellen Java Basics - Anfänger-Themen 1
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
N 2D Array Summe erstellen Java Basics - Anfänger-Themen 6
T Log Funktion erstellen Java Basics - Anfänger-Themen 1
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
S Programm erstellen Java Basics - Anfänger-Themen 3
S MinMax Programm erstellen Java Basics - Anfänger-Themen 4
S Mit for-Schleife ein 2D JLabel-Array mit veränderbaren Icons erstellen Java Basics - Anfänger-Themen 3
T Countdown erstellen Java Basics - Anfänger-Themen 7
I ZIP File erstellen Java Basics - Anfänger-Themen 10
L Ordner in neuen erstellten Ordner erstellen Java Basics - Anfänger-Themen 12
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
B Zurück Button erstellen Java Basics - Anfänger-Themen 1
melaniemueller Lagerverwaltung erstellen - mehrdimensionale Arrays Java Basics - Anfänger-Themen 62
B JaxB - Referenzen erstellen? Java Basics - Anfänger-Themen 2
K Rekursion: Rechenmauer mit Array erstellen Java Basics - Anfänger-Themen 17
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
Aqtox Hallo ich muss für die Schule ein Wuerfell Duell erstellen jedoch habe ich ein fehler Java Basics - Anfänger-Themen 4
E Classpath Datai erstellen Java Basics - Anfänger-Themen 3
B eine methode erstellen Java Basics - Anfänger-Themen 7
I Entity erstellen, die für API gedacht ist Java Basics - Anfänger-Themen 33
M Packages erstellen mit Java-Editor Java Basics - Anfänger-Themen 6
L FinanzApp erstellen Java Basics - Anfänger-Themen 1
J Junit4 Klasse erstellen Java Basics - Anfänger-Themen 5
B Warteschlange erstellen mit LinkedList ? Java Basics - Anfänger-Themen 6
Animal-Mother BMI Rechner erstellen für W/M Java Basics - Anfänger-Themen 7
F GSON file mit einer List erstellen Java Basics - Anfänger-Themen 2
Ray19941 Über BlueJ Textdatei selbstständig erstellen lassen Java Basics - Anfänger-Themen 2
J Java Queue mit default Werten erstellen Java Basics - Anfänger-Themen 4
JaVaN0oB Bruchklasse erstellen Java Basics - Anfänger-Themen 9
N Kreismuster auf Bestehendem Kreis erstellen Java Basics - Anfänger-Themen 10
K Rahmen erstellen mit mehrdimensionalem Array Java Basics - Anfänger-Themen 1
B Hilfe bei Map Liste erstellen Java Basics - Anfänger-Themen 10
F Adjunkte Matrix erstellen Java Basics - Anfänger-Themen 3
J Objekt-Array dynamischer Länge aus Benutzereingaben erstellen Java Basics - Anfänger-Themen 6
T Startbildschirm für ein Spiel erstellen Java Basics - Anfänger-Themen 0
C Probleme mit dem Erstellen und Importieren von Packages Java Basics - Anfänger-Themen 6
GermanPie Discord Text Channel erstellen? Java Basics - Anfänger-Themen 1
K Objektdiagramm erstellen Java Basics - Anfänger-Themen 3
C Wie kann ich Versionen eines Projektes in Eclipse erstellen? Java Basics - Anfänger-Themen 3
D Klassen Klassendiagramm richtig erstellen Java Basics - Anfänger-Themen 20
S Objekte indiziert erstellen Java Basics - Anfänger-Themen 27
C eigene Methoden erstellen (Instanzmethoden) Java Basics - Anfänger-Themen 7
B Methode für jede beliebe Entity erstellen Java Basics - Anfänger-Themen 7
E Filmsammlung erstellen Java Basics - Anfänger-Themen 6
B Eine Methode erstellen Java Basics - Anfänger-Themen 3
M Erstellen eines insets Objekts, GridBagLayout Java Basics - Anfänger-Themen 13
I ArrayList erstellen innerhalb einer Zeile? Java Basics - Anfänger-Themen 3
N String N-Gramme mit Stream erstellen Java Basics - Anfänger-Themen 7
K Quersumme erstellen Java Basics - Anfänger-Themen 7
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
D Input/Output Mehrzeiligen String aus Textdatei erstellen Java Basics - Anfänger-Themen 5
C Erstellen eines Widerstandsnetzwerks Java Basics - Anfänger-Themen 10
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
A Taschenrechner mit Gui erstellen Java Basics - Anfänger-Themen 9
S Variablen Variablen in einer Schleife erstellen lassen Java Basics - Anfänger-Themen 11
S Hilfe : Unendlich viele Zufallszahlen erstellen? Java Basics - Anfänger-Themen 8
P Arrays "automatisch" erstellen lassen Java Basics - Anfänger-Themen 12
L Baum aus Integer Liste erstellen Java Basics - Anfänger-Themen 0
M Regex für bestimmte Wörter bzw. bestimmte Zeichen erstellen Java Basics - Anfänger-Themen 5
D Zusammenhängenden Graphen für Gleisnetz erstellen Java Basics - Anfänger-Themen 13
Y Unterschied zwischen WindowBuilder und herkömmlichen erstellen des GUI´s? Java Basics - Anfänger-Themen 9
M Writer für unterschiedliche Obj/inbt/double erstellen? Java Basics - Anfänger-Themen 1
Kirby.exe Generische Objekt Instanz erstellen Java Basics - Anfänger-Themen 14
P Fractal erstellen Java Basics - Anfänger-Themen 4
H Objekt mit Methode erstellen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben