Timer für Termial-Eingaben

Moch

Bekanntes Mitglied
Moin moin,
Nachdem es nun wochenlang recht problemlos mit dem Programmieren geklappt hat und die Profs. und Projektleiter soweit zufrieden waren, stehe ich nun vor einem Probleme, zu dem mir nicht mal mehr ein Ansatz einfällt, auch wenn es sehr simpel klingt :oops:

Wir arbeiten derzeit an einem (kleinen, nicht spektakulärem) Programm, welches letzlich zwei Bedienmöglichkeiten bieten soll: Einmal eine Grafische, die auch soweit funktioniert und zusätzlich eine textuelle Variante (Terminal). Bedingung war: Das Programm basiert NUR auf Java, keine weitere Sprachen, keine Skripts.
An einer Stelle wird der User vor die Auswahl zwischen zwei oder mehreren Möglichkeiten gestellt. Auch die Auswahl funktioniert soweit. Nun wünscht sich unser Projektleiter jedoch eine Art "Timer" in dieser Auswahl.

Am ehesten könnte man es vergleichen mit einem Betriebssytem-Bootloader, wie man ihn vielleicht von Linux oder Windows kennt. Dieser stellt einen ja auch vor die Auswahl, welches Betriebssystem oder welche Kernel-Version mal wählt. Lässt man eine bestimmte Zeitspanne verstreichen, wählt es automatisch den markierten Eintrag.
In unserem Falle solle - so unser Projektleiter - nach Ablauf von 10s eine "default"-Variante ausgeführt werden.

Nehmen wir also folgende Situation an:
1) Man konnte an entsprechende Stelle im Programm (Terminalebene);
2) Programm fordert Nutzereingabe an; Möglich seien die Befehle ("bef0()", "bef1()", "bef2()");

3a) Nicht sinnige Eingabe führt wieder zu 2) (Iterativ, Schleifengebunden; NICHT rekursiv)

3b) Korrekte Eingabe führt entsprechenden Befehl aus;

3c) Keine Eingabe führt nach Ablauf der Zeitspanne zur automatischen Ausführung von bef0();

Sämtliche Eingagen erfolgen hierbei über das Terminal (Linux) oder die cmd.exe (Windows).
Ein Timer soll NICHT angezeigt werden; In der Textebene wird kein Hinweis auf die Restzeit gegeben.

Ist das, was unser Projektleiter (gleicher Jahrgang, wie wir - entsprechend gleicher/ähnlicher Ahnungsstand zum Thema Java) dort fordert in Java so möglich?
Wenn es möglich ist, wie kann ich das umsetzen?



Ich dachte zunächst an eine Zählerschleife.
-> scheiterte jedoch daran, dass diese Schleife auch die User-Eingabe jedes Mal neu gefordert hat und somit dem User keine Möglichkeit gegeben hat, eine Eingabe zu tätigen.

In der Folge dachte ich mehr in Richtung einer internen Warteschleife (for-Schleife mit leerem Body).
-> Eingabe wird gefordert;
-> Schleife läuft entsprechende oft durch
-> Eingabe wird eingelesen;
Probleme hierbei: Der User müsste IMMER die 10s warten, wenn danach das einlesen IRGENDWIE erzwungen werden würde. Weiterhin stünde das Bestätigen via Enter nicht mehr zur Debatte (denke ich mal?)

Ich persönlich bin GEGEN diese Lösung, da ich schon bei meinen Bootloader die Krise bekomme, wenn ich mal wieder der Meinung war, den Rechner einzuschalten und mal schnell einen Kaffee zu besorgen, nur um danach festzustellen, dass ich im falschen Betriebssystem gelandet bin. Dennoch kann ich mich ja schlecht unbegründet über die Entscheidung des Projektleiters hinwegssetzen. Folglich werde ich es auch überleben, sollte das so nicht möglich sein.

Lieben Gruß
Moch
 

HimBromBeere

Top Contributor
Du sollst ´ne Konsolenanwendung schreiben... aber was du mit
scheiterte jedoch daran, dass diese Schleife auch die User-Eingabe jedes Mal neu gefordert hat und somit dem User keine Möglichkeit gegeben hat, eine Eingabe zu tätigen.
meinst, kapier ich nicht.
Du brauchst doch nur eine Ausgabe zu schreiben: bitte wählen sie ein Menü aus. Dahinter kommt eine Schleife, die die Eingabe prüft und solange "aktiv" bleibt, wie die Eingabe fehlerhaft ist (sowas wie while(!getInput()). Die Klasse Timer müsstest du in ´ner Konsole verwenden können, also denke ich, das sollte insgesamt machbar sein...

EDIT: noch einfacher wäre natürlich, innerhalb der Schleife noch zu prüfen, ob die bereits verstrichene Zeit größer als 10sec ist (dafür musst du dir nur die Systemzeit zu Programmstart merken und diese von der aktuellen Systemzeit abziehen). Dann brauchst du nichtmal die Timer-Klasse
 
Zuletzt bearbeitet:

diggaa1984

Top Contributor
ja also Timer, TimerTask .. da such dir mal in der API das entsprechende raus. Ich dachte erst beim lesen, ohje, doch ne grafische Anzeige in der Konsole der Restzeit. Aber da das ja explizit nicht gefordert wird, ist das halb so wild.

  • Aufforderung an Nutzer
  • Start eines Timers und gleichzeitiges warten auf Eingabe
  • Entweder erfolgt Eingabe oder Timer löst aus
  • falsche Eingabe => neue Abfrage .. korrekte Eingabe => Timer stoppen .. bei Timer: Standardaktion wählen
 

Moch

Bekanntes Mitglied
Sorry, dass meine Reaktion so lange gedauert hat. Mein Router hatte mir den Krieg erklärt.
Dass es eine Klasse Timer gibt, war mir bisher unbekannt -.-
Ich werde mal mit Euren Anregungen daran Arbeiten und mir entsprechend mal die Dokumentation zu Timer durchlesen.

Danke und lieben Gruß
Moch
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Abbruchbedingung für Timer Java Basics - Anfänger-Themen 3
S Timer vs ExecutorService: jeden Sonntag um 14.00 Uhr einen Task starten..? Java Basics - Anfänger-Themen 1
_user_q Timer - ScheduledExecutorService wird schon vorher beendet Java Basics - Anfänger-Themen 5
E multiple Timer die sich nicht summieren Java Basics - Anfänger-Themen 12
Jan_x8 Timer/Scanner Java Basics - Anfänger-Themen 5
C Timer aktualisieren Java Basics - Anfänger-Themen 5
L GUI- wie cancel ich einen Timer? Java Basics - Anfänger-Themen 10
missy72 Timer oder Timeline Java Basics - Anfänger-Themen 3
R Timer Format: 00:00:00 Java Basics - Anfänger-Themen 29
C java.util Timer läuft zu langsam? Java Basics - Anfänger-Themen 1
D Änder der Timer Speeds Java Basics - Anfänger-Themen 1
E Timer trotz erwartender Eingabe durchlaufen lassen Java Basics - Anfänger-Themen 11
L Methoden Timer Java Basics - Anfänger-Themen 9
J Memory-Spiel Aktivierung der Methode mit Timer Java Basics - Anfänger-Themen 44
G Animation Timer Nano Time Java Basics - Anfänger-Themen 2
S Timer reseten Java Basics - Anfänger-Themen 3
T Timer stoppt zu früh Java Basics - Anfänger-Themen 7
CptK Methoden Timer & Mathematischer Denkfehler Java Basics - Anfänger-Themen 7
mobaer Swing Timer stoppen Java Basics - Anfänger-Themen 3
C Wie erstellt man einen Timer/Delay? Java Basics - Anfänger-Themen 1
J Timer bauen, Main Methode immer wieder neu starten Java Basics - Anfänger-Themen 13
D Timer programmieren Java Basics - Anfänger-Themen 13
N Timer funktioniert nicht beim starten Java Basics - Anfänger-Themen 3
B Timer mehrere Male ausführen Java Basics - Anfänger-Themen 4
J Timer richtig pausieren Java Basics - Anfänger-Themen 2
E Timer erstellen Java Basics - Anfänger-Themen 2
B javax.ejb.Timer wieder starten? Java Basics - Anfänger-Themen 0
S actionlistener timer Java Basics - Anfänger-Themen 9
C Wie kann ich jetzt von der Game.java auf die Timer.java zugreifen? Java Basics - Anfänger-Themen 6
S timer mit imagedatei Java Basics - Anfänger-Themen 5
S timer Java Basics - Anfänger-Themen 0
V Java Uitil Timer Stoppt nicht Java Basics - Anfänger-Themen 2
KaffeeFan Timer beenden Java Basics - Anfänger-Themen 12
K Ampelsteuerung mit Timer Java Basics - Anfänger-Themen 8
F Array und Timer Java Basics - Anfänger-Themen 2
G Timer einsetzen Java Basics - Anfänger-Themen 2
J Timer oder Thread programmieren ? Java Basics - Anfänger-Themen 10
F Timer beendet nicht immer Java Basics - Anfänger-Themen 2
F Timer abbrechen und wieder starten Java Basics - Anfänger-Themen 5
U Java Swing Timer mit ButtonKlick starten u. nach 12 Sekunden Befehl ausführen Java Basics - Anfänger-Themen 7
W Erste Schritte Timer soll jede Sekunde Label aktualisieren Java Basics - Anfänger-Themen 5
T Timer - HILFE Java Basics - Anfänger-Themen 10
O Alternative zum swing-Timer Java Basics - Anfänger-Themen 5
A Wieso funktioniert dieser Timer nicht?? Java Basics - Anfänger-Themen 3
S timer funktion mit javax panel Java Basics - Anfänger-Themen 3
O Laufender Timer+Action Listener in Thread VS isAlive() Java Basics - Anfänger-Themen 4
O Starte Timer, während anderer Timer noch läuft. Ruft dies Schwierigkeiten hervor? Java Basics - Anfänger-Themen 0
M Schneller Timer Java Basics - Anfänger-Themen 2
C Timer aus anderer Klasse stoppen/starten Java Basics - Anfänger-Themen 3
B Timer beenden? Java Basics - Anfänger-Themen 0
G Erste Schritte Timer: In einem festgelegten Intervall eine Methode ausführen Java Basics - Anfänger-Themen 6
O Delayed Timer erstellen Java Basics - Anfänger-Themen 3
M Timer / Thread Java Basics - Anfänger-Themen 43
M Javax.swing - Timer(2 Button) Java Basics - Anfänger-Themen 17
J Timer - Swing Java Basics - Anfänger-Themen 5
A Timer: textarea.getText() mit Variable vergleichen Java Basics - Anfänger-Themen 3
D Problem mit Methode und Timer Java Basics - Anfänger-Themen 35
T Wie mache ich einen Timer der alle 2 sekunden aufgerufen wird? Java Basics - Anfänger-Themen 5
R Einfacher Timer geht nicht Java Basics - Anfänger-Themen 7
J Swing Timer Java Basics - Anfänger-Themen 3
M Einfacher Timer ;) Java Basics - Anfänger-Themen 15
C Methoden Einen Timer einbauen, aber wie? Java Basics - Anfänger-Themen 5
B Timer Java Basics - Anfänger-Themen 25
M Timer-Thread in Swing öffnet jedes Mal ein neues Fenster Java Basics - Anfänger-Themen 6
S Timer / Schleifen Verständnis Problem Java Basics - Anfänger-Themen 3
S Erste Schritte Java Timer Java Basics - Anfänger-Themen 13
E Threads Timer Java Basics - Anfänger-Themen 6
Spin KI Anfänger Frage : Timer Problem Java Basics - Anfänger-Themen 6
F Prüfen ob timer läuft Java Basics - Anfänger-Themen 6
L Erste Schritte Timer und Zugriffsattribute Java Basics - Anfänger-Themen 5
M Audio + Timer Java Basics - Anfänger-Themen 12
M Methoden Timer in ActionListener aufrufen Java Basics - Anfänger-Themen 2
R Klassen MemorySpiel: brauche Timer Java Basics - Anfänger-Themen 3
D Timer in Applet Java Basics - Anfänger-Themen 2
ruerob Warum ist Timer schneller als While? Java Basics - Anfänger-Themen 9
F Java Timer Frage Java Basics - Anfänger-Themen 14
VfL_Freak Verständnisfrage zur Klasse "TIMER" Java Basics - Anfänger-Themen 7
B Timer Java Basics - Anfänger-Themen 2
S timer task problem Java Basics - Anfänger-Themen 2
C Überprüfen, ob Timer läuft Java Basics - Anfänger-Themen 3
S "Kleines" Problem mit dem Timer Java Basics - Anfänger-Themen 4
Luk10 Problem mit vielen Timer(-Events) Java Basics - Anfänger-Themen 17
Luk10 Swing timer und Threads Java Basics - Anfänger-Themen 4
W Timer erstellen Java Basics - Anfänger-Themen 2
M Timer: period während Verlauf wechseln Java Basics - Anfänger-Themen 12
M Timer unterbrechen? Wo ist mein Thread? Java Basics - Anfänger-Themen 2
L Timer innerhalb eines Threads Java Basics - Anfänger-Themen 3
P Java Timer Java Basics - Anfänger-Themen 2
C countdown/timer/Zeit warten lassen Java Basics - Anfänger-Themen 14
B problem mit timer/timertask, Farbverlauf Java Basics - Anfänger-Themen 10
Piwi Timer bei Programmende beenden Java Basics - Anfänger-Themen 25
T zweiter Timer überschreibt den ersten Timer ? Java Basics - Anfänger-Themen 5
kulturfenster Problem mit javax.swing.Timer Java Basics - Anfänger-Themen 2
C Regelmäßigen Timer bei Zeitüberschreitung nacheinander abarbeiten Java Basics - Anfänger-Themen 2
J timer Java Basics - Anfänger-Themen 2
J timer Java Basics - Anfänger-Themen 2
H Timer Java Basics - Anfänger-Themen 3
dl85hej Zeitsitschleife anstatt Timer Java Basics - Anfänger-Themen 5
G Klasse mit Timer nicht beenden Java Basics - Anfänger-Themen 6
S Timer / TimerTask Frage Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben