Countdown java programieren

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Mit einer Variabel countdown, welche du eingeben lassen musst.

System.out.println("Geben Sie die Countdownlänge ein!"); String s = javax.swing.JOptionPane.showInputDialog( "Bitte Zahl eingeben" ); int countdown = Integer.parseInt( s );

for(int i = countdown; i!=0; i--) { System.out.println(i); }

mcchecker1000 
Fragesteller
 02.10.2014, 14:12

Danke es funktzioniert nur ist der Countdown etwas zu schnell wie kann ich den den Verlangsamen?

0
Xarna  02.10.2014, 14:19
@mcchecker1000

War er vorher langsamer?

Ich denke da wirst du mit einer Zeitmethode ran müssen...das ist dann weniger trivial..

0
Xarna  02.10.2014, 14:23
@Xarna

System.out.println("Geben Sie die Countdownlänge ein!"); String s = javax.swing.JOptionPane.showInputDialog( "Bitte Zahl eingeben" ); int countdown = Integer.parseInt( s );

for(int i = countdown; i!=0; i--) { System.out.println(i); Thread.sleep(1000); }

Mach das mal so :) thread.sleep baut eine Pause für 1000 Millisekunden also 1 Sekunde ein.

0
mcchecker1000 
Fragesteller
 02.10.2014, 14:23
@Xarna

nein voher war er nicht langsamer mit den Countdown will ich erreichen das man eine zeit eingibt in Sekunden und wenn diese Sekunden um sind soll ein Lied abspielen wie man des mit den Lied abspielen macht weiss ich aber eben nicht wie ich des mache das der Countdown langsamer ist.

0
ashish159  10.12.2015, 21:43
@mcchecker1000

Bisschen spät, aber Thread Sleep wäre eine Lösungsmöglichkeit ;) habs auch so gemacht :D 

0
davidschwarz  09.08.2016, 15:00
@Xarna

Thread.sleep(); ist allerdings nicht so "schön". Am besten eigenen Thread für soetwas erstellen oder einen Timer verwenden.

0

int countdown = Integer.parseInt(JOptionPane.showInputDialog("Wartezeit eingeben"));

Für den Countdown: ich würde das ganze in eine eigene Unterklasse der Klasse Thread packen. Würde dann so aussehen:

Thread.java

public class Countdown extends Thread{

{setPriority(MAX_PRIORITY);}

public Countdown(){ super(); }

public void run(){

int countdown = Integer.parseInt(JOptionPane.showInputDialog("Wartezeit eingeben"));

int laufzeit = 500; //Die gesamte Laufzeit des Countdowns.


for(int i = countdown; i != 0; i --){
System.out.println(i);
try{
this.sleep((laufzeit/countdown)*1000);
}catch(Exception e1){System.err.println("Thread abgebrochen!");}

}
}}

Main.java


public class Main{
public static void main(String args[]){
Countdown cd = new Countdown();
cd.start();
}
}