У меня проблемы при отправке значений в очередь - PullRequest
0 голосов
/ 23 апреля 2019

Я пишу программу моделирования системы с одной очередью в Java. В моей программе я хочу вставить значение в мою очередь, и моя программа читает эту строку, но размер очереди возвращает 0.

Эта часть помещает значение в очередь

EL nextEvent = new EL(clock);
q.push(nextEvent); // pushing the first incoming customer in queue
cust--; // still waiting for other customers

Вот моя очередь

public class queue {

EL[] q;
int head;
int tail;
int rear;
int cap = 10000;
int count;

public queue(int cap) {
    super();
    head = 0;
    tail = 0;
    this.q = new EL[cap];
}


public void push(EL item){
    if (!isFull()){
        rear = (rear + 1) % cap;
        q[rear] = item;
        count++;
    }
}

public EL pop() {
    if (isEmpty()) {
        return null;
    }
    int tmp = head;
    head = (head + 1) % cap;
    return q[tmp];
}

// measures the size of a queue
public double size(){return count;}
public boolean isEmpty(){return (size() == 0);} // checks if queue is empty or not
public boolean isFull(){return (size() == cap);} // checks if queue is full or not
}

А вот и мой класс EL

public class EL {
double atmQEnterTime;
double atmQLeaveTime;
double atmLeaveTime;

public EL(double atmQEnterTime){
    this.atmQEnterTime = atmQEnterTime;
    atmQLeaveTime = 0;
    atmLeaveTime = 0;
}
public double getTotTime() {return atmLeaveTime - atmQEnterTime;}
public double getQWaitTime() {return atmQLeaveTime - atmQEnterTime;}
}

Я не могу понять, почему это не помещает никакого значения в мою очередь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...