diff --git a/src/UE21_290425_Bruecke/Car.java b/src/UE21_290425_Bruecke/Car.java new file mode 100644 index 0000000..246de0e --- /dev/null +++ b/src/UE21_290425_Bruecke/Car.java @@ -0,0 +1,5 @@ +package UE21_290425_Bruecke; + +public class Car { + +} diff --git a/src/UE21_290425_Bruecke/Generator.java b/src/UE21_290425_Bruecke/Generator.java new file mode 100644 index 0000000..4b11bba --- /dev/null +++ b/src/UE21_290425_Bruecke/Generator.java @@ -0,0 +1,8 @@ +package UE21_290425_Bruecke; + +public class Generator { + public static void main(String[] args) { + Guard guard = new Guard(); + + } +} diff --git a/src/UE21_290425_Bruecke/Guard.java b/src/UE21_290425_Bruecke/Guard.java new file mode 100644 index 0000000..f350cd3 --- /dev/null +++ b/src/UE21_290425_Bruecke/Guard.java @@ -0,0 +1,32 @@ +package UE21_290425_Bruecke; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class Guard { + private static final List waitingCars = new ArrayList<>(); + private static final Set waitingTimes = new HashSet<>(); + private static int carsOnBridge = 0; + + public static void arriving(Car car) { + waitingCars.add(car); + } + + public static void leaving() { + carsOnBridge--; + } + + public void crossing(Car car) throws InterruptedException { + carsOnBridge++; + waitingCars.remove(car); + Thread.sleep(50_000); + leaving(); + } + + @Override + public String toString() { + return "Statistics:\n" + "waiting: " + waitingCars + "waitingTimes: " + waitingTimes + "carsOnBridge: " + carsOnBridge; + } +} diff --git a/src/UE21_290425_Bruecke/SEW3 UE21 Bruecke.pdf b/src/UE21_290425_Bruecke/SEW3 UE21 Bruecke.pdf new file mode 100644 index 0000000..5dc724a Binary files /dev/null and b/src/UE21_290425_Bruecke/SEW3 UE21 Bruecke.pdf differ