我真的是Java兼容的新手,我正在尝试实现以下规范:
这不是确切的规范,但我唯一的问题是:
我无法让汽车在转弯时跳过.如果两辆车选择相同的位置,则一辆车停放,另一辆车等待,直到公园空闲.这不是我想要的行为.我的第一个想法是简单地将read和write同步到一个占用的变量:
class Car implements Runnable {
private CarState state = CarState.driving
run {
while(true) {
switch(state) {
case driving:
System.out.println(this + " driving.");
state = parking;
break;
case parking: Spot s = CarPark.getRandomSpot();
if(s.willingToPark(this)) {
System.out.println(s + " occupied. " + this
+ " skip park turn.");
} else {
s.park(this);
}
state = driving;
}
}
}
}
class Spot {
private boolean occupied = false;
private Car owner = new …Run Code Online (Sandbox Code Playgroud)