shrek456
Lieutenant
- Registriert
- Dez. 2009
- Beiträge
- 631
Hatte langeweile und wollte mir zum Spaß in Java eine Küchenuhr programmieren(erstmal ohne GUI weil ich das noch nicht wirklich kann.).
Momentan habe ich folgenden Code:
Leider funktioniert dieser nicht so wie ich es will...
Das Programm fragt im ersten try-catch Block den Benutzer nach der Anzahl der Minuten. Im zweiten Try-Catch Block pausiere ich die Schleife 1 Sekunde, damit die gleiche Uhrzeit nur einmal angezeigt wird. Die FOR-Schleife zählt die Zeit und gibt die aktuelle Zeit aus+Restzeit aus.
Die Eingabe durch den Benutzer erfolgt noch, die Ausgabe der Variable zeit in Zeile 39 wird auch noch ausgegeben. Danach wird sofort die while-Schleife aus Zeile 57 ausgeführt ohne das die for-Schleife gestartet wird. Die Umrechnung von Minuten in Sekunden(die für die for-Schleife gebraucht wird) funktioniert auch richtig. Daran kann es also auch nicht liegen.
Was mir klar ist, ist das es sich um einen Semantikfehler handeln muss, da NetBeans keine Syntaxfehler ausgibt, doch wo ist ist dieser Semantikfehler?
Hoffe ihr könnt mir helfen, wäre nämlich schön wenn ich das Programm noch irgendwann zum laufen bekomme.
Momentan habe ich folgenden Code:
Code:
package küchenuhr;
import java.text.*;
import java.util.Date;
import java.util.*;
/**
*
* @author shrek456
*/
public class Küchenuhr
{
public static void main(String[] args)
{
boolean wieder = false;
int zeit=0;
boolean ende;
while(wieder==false)
{
try
{
System.out.println("Bitte gebe sie die Koch-/Back-/Bratzeit an(in Minuten): ");
Scanner eingabe1 = new Scanner(System.in);
int ant = eingabe1.nextInt();
ant = ant*60;
//System.out.println(ant);
zeit = ant;
wieder = true;
}
catch(InputMismatchException e)
{
System.out.println("Fehlerhafte Eingabe");
wieder = false;
}
}
//System.out.println(zeit);
for(int i=1; i>zeit; i++)
{
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
String uhrzeit = sdf.format(new Date());
System.out.println ("Akutelle Uhrzeit: " + uhrzeit);
int rest = zeit-i;
System.out.println ("Restzeit: "+ rest);
try
{
Thread.sleep(1000);
}
catch(InterruptedException e)
{
System.out.println("ERROR ON TRY BLOCk!");
}
}
ende = true;
while(ende==true)
{
System.out.println("Die eingestellte Zeit ist abgelaufgen!");
try
{
Thread.sleep(1000);
}
catch(InterruptedException e)
{
System.out.println("ERROR ON TRY BLOCk!");
}
}
}
}
Das Programm fragt im ersten try-catch Block den Benutzer nach der Anzahl der Minuten. Im zweiten Try-Catch Block pausiere ich die Schleife 1 Sekunde, damit die gleiche Uhrzeit nur einmal angezeigt wird. Die FOR-Schleife zählt die Zeit und gibt die aktuelle Zeit aus+Restzeit aus.
Die Eingabe durch den Benutzer erfolgt noch, die Ausgabe der Variable zeit in Zeile 39 wird auch noch ausgegeben. Danach wird sofort die while-Schleife aus Zeile 57 ausgeführt ohne das die for-Schleife gestartet wird. Die Umrechnung von Minuten in Sekunden(die für die for-Schleife gebraucht wird) funktioniert auch richtig. Daran kann es also auch nicht liegen.
Was mir klar ist, ist das es sich um einen Semantikfehler handeln muss, da NetBeans keine Syntaxfehler ausgibt, doch wo ist ist dieser Semantikfehler?
Hoffe ihr könnt mir helfen, wäre nämlich schön wenn ich das Programm noch irgendwann zum laufen bekomme.