Мне нужно добавить «машину» в очередь каждые две минуты и удалить «автомобиль» из очереди каждые 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, хотя, конечно, вы никогда не должны этого делать в графическом интерфейсе. –