# Verzögerung einbauen



## Furianu (1. Nov 2011)

Hallo Leute,

ich habe früher bereits ein bisschen mit "Blitz Basic 2D" programmiert und studiere nun seit 2 Wochen Informatik. Nun müssen wir momentan Java lernen (mit welcher ich noch nie zuvor programmiert habe) und es stellt sich mir die Frage:

Wie baut man ein delay/Verzögerung zwischen zwei befehlen ein?

Bei "BlitzBasic 2D" ging das ganz simpel über einen einzigen Befehl "WaitTimer(x)" wohingegen ich für den Verzögerungsbefehl in Java bereits im Internet gesucht habe, und zwei Befehle bzw. einen Befehl und eine Struktur entdeckt habe; eine davon:

Thread.sleep(x);

Wobei x für die Dauer der Verzögerung in millisekunden steht.

Nun habe ich folgenes programmiert (ein kleines Quiz):


```
import java.util.Scanner; 
public class quiz {
	private static Scanner scan = new Scanner(System.in);
		public static void main(String[] args) {
			Thread.sleep(2000);
			System.out.println("Wilkommen zum Quiz!");
			System.out.println("Drücken sie eine beliebige Taste zum fortfahren!");
			String weiter = scan.nextLine();
			System.out.println("1. Frage: Wer gewann im Jahr 2010 die Formel-1 Weltmeisterschaft?");
			System.out.println("A: Michael Schumacher");
			System.out.println("B: Mika Häkkinen");
			System.out.println("C: Ralf Schuhmacher");
			System.out.println("D: Sebastian Vettel");
			String frage1 = scan.nextLine();
			if(frage1.equals("a"))
				System.out.println("Richtig!");
				else if(frage1.equals("A"))
				System.out.println("Richtig!");
				else
				System.out.println("Falsch!");
			}
}
```

Wenn ich dieses Programm ausführe, bekomme ich allerdings folgende Fehlermeldung:

C:\Users\Furianu\Documents\Java>javac quiz.java
quiz.java:5: error: unreported exception InterruptedException; must be caught or declared to be thrown

Thread.sleep(2000);
.................^


----------



## Mofi (1. Nov 2011)

Du brauchst einen try-catch-Blick um dein Thread.sleep();

also in etwa so

```
try{
    Thread.sleep(2000);
}catch(InterruptedException e){
    e.printStackTrace();
}
```

Auch wenn ich jetzt nicht weiß, warum du das am Anfang deines Programm machst?


----------



## Furianu (1. Nov 2011)

Mofi hat gesagt.:


> Du brauchst einen try-catch-Blick um dein Thread.sleep();
> 
> also in etwa so
> 
> ...



Ah, vielen Dank 

Nun ja, ich habe das lediglich am Anfang des Programmes gemacht um den Befehl zu testen^^


----------

