我需要每2分鐘向隊列中添加一輛「汽車」,並每隔2分鐘從隊列中刪除一輛「汽車」。然後在可能的情況下,當隊列以相同的時間增加時,將車輛從堆棧移入隊列。每x分鐘執行一段代碼
public static void main(String[] args) {
int lp = 10000;
int i = 10;
int maxQueue = 0;
int maxStack = 0;
Lstack stack = new Lstack();
Lqueue queue = new Lqueue();
int cr = 1; //cars removed
Scanner input = new Scanner(System.in);
for (int size = 0; size < 26; size++) {
**// arrivals, need to add 2 min wait**
if (maxQueue < 6){
Car car = new Car(Integer.toString(lp), 'X');
queue.insert(car);
lp = lp + i;
maxQueue++;
}
else if (maxQueue > 6){
Car car = new Car(Integer.toString(lp), 'X');
stack.push(car);
lp = lp + i;
maxStack++;
}
else if((maxQueue > 6) && (maxStack > 6)){
System.out.println("Sorry there isn't enough room");
cr++;
System.out.println("New amount to be taken away:" + cr);
}
**// removals, need to add the wait 5 min**
if (maxQueue != 0){
for(i = 0; i < cr; i++){
queue.remove();
System.out.println("Car" + lp + "was/were removed");
}
maxQueue--;
}
else if(maxQueue == 0){
cr++;
}
System.out.println("Before Driveway Moves:");
queue.display();
stack.display();
// empty driveway
while((maxQueue < 6) && (maxStack != 0)){
System.out.println("Moving car " + lp + " to the driveway");
queue.insert(stack.pop());
}
System.out.println("After Driveway Moves: ");
queue.display();
stack.display();
}
}
什麼是你的問題? –
我不知道如何在添加和刪除之間添加2分鐘等待和5分鐘等待 – user2284671
您始終可以使用Thread.sleep,儘管當然您不應該在GUI程序中這樣做。 –