Проблема метода очереди белая проблема, это удалит данные? - PullRequest
0 голосов
/ 09 апреля 2020

Когда я добавляю это в программу, возникает проблема.

while (true) {
    boolean h1Status = false, h2Status = false, h3Status = false;

    if (h1.isEmpty() == false) {
        if (h1.last() == LastBuffer + 1) {

            LastBuffer++;
            System.out.println("Move parcel " + LastBuffer + " from input buffer to output buffer directly");
            h1Status = true;
        }

    } else if (h2.isEmpty() == false) {
        if (h2.last() == LastBuffer + 1) {
            LastBuffer++;
            System.out.println("Move parcel " + LastBuffer + " from input buffer to output buffer directly");

            h2Status = true;
        }

    } else if (h3.isEmpty() == false) {
        if (h3.last() == LastBuffer + 1) {

            LastBuffer++;
            System.out.println("Move parcel " + LastBuffer + " from input buffer to output buffer directly");
            h3Status = true;
        }
    } else if (h1Status == false && h2Status == false && h3Status == false) {
        break;
    }
}

и ошибка

Exception in thread "main" EmptyListException: List is empty.
    at LinkedList.removeFromTail(LinkedList.java:54)
    at LinkedQueue.HeadCheck(LinkedQueue.java:56)
    at ParcelQueues.main(ParcelQueues.java:124)

Я добавил два метода в очередь

public int last()
{   
    Object item=qll.removeFromHead();

    int i=(int)item;
    return i;

}

другое:

public int HeadCheck()
{   
    Object item=qll.removeFromTail();

    int i=(int)item;
    qll.addToTail(item);
    return i;

}

как я могу решить проблему? Я решил ее примерно за 3 часа. Это как договоренность о посылке при доставке. Когда 1 выводится в буфер. Нужно проверить все очередь (h1, h2, h3) в буфер. Итоговый результат равен (1 2 3 4 5 6 7)

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