Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- public class Schranke extends Thread {
- private String name;
- private int timeOpen;
- private int timeClosed;
- private Boolean abort;
- public Schranke(String name, int timeOpen, int timeClosed, Boolean abort) {
- this.name = name;
- this.timeOpen = timeOpen;
- this.timeClosed = timeClosed;
- this.abort = abort;
- }
- public synchronized boolean getAbort() {
- return abort.booleanValue();
- }
- public synchronized void setAbort() {
- abort = true;
- }
- public void run() {
- do {
- try {
- System.out.println(name + ": Start Öffnen.");
- sleep(4000);
- System.out.println(name + ": Ende Öffnen.");
- sleep(timeOpen*1000);
- System.out.println(name + ": Start Schließen.");
- sleep(3000);
- System.out.println(name + ": Ende Schließen.");
- sleep(timeClosed*1000);
- }
- catch (InterruptedException e) {}
- } while (!getAbort());
- }
- public static void main(String[] args) {
- System.out.println("--- Schranken-Simulator 3000 ---");
- System.out.println();
- try {
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- System.out.print("Wie viele Schranken möchten Sie simulieren? ");
- int anzSchranken = Integer.parseInt(br.readLine());
- int[][] zeiten = new int[anzSchranken][2];
- for(int i = 0; i < anzSchranken; i++) {
- System.out.printf("Wie lange soll Schranke %d geöffnet bleiben? ", i+1);
- zeiten[i][0] = Integer.parseInt(br.readLine());
- System.out.printf("Wie lange soll Schranke %d geschlossen bleiben? ", i+1);
- zeiten[i][1] = Integer.parseInt(br.readLine());
- }
- System.out.println("Zum Beenden 'q' drücken und mit Enter bestätigen.");
- System.out.println("Das Programm endet nachdem die Schranken geschlossen sind.");
- System.out.println();
- Boolean abort = new Boolean(false);
- for(int i = 0; i < anzSchranken; i++) {
- new Schranke("Schranke " + (i+1), zeiten[i][0], zeiten[i][1], abort).start();
- }
- while (!abort) {
- if ((char)br.read() != 'q') {
- abort = true;
- }
- }
- }
- catch(IOException e) {}
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement