Member 12702056 Ответов: 0

Как решить проблему с Action listener?


    private void DequeueActionPerformed(java.awt.event.ActionEvent evt) {                                        
        a.dequeue();
      
        if(a.count<=0){
         JOptionPane.showMessageDialog(this, "This is underflow", "Message", EXIT_ON_CLOSE);
        } else{
         JOptionPane.showMessageDialog(this, "Dequeued: "+a.Queue[a.count].toString(), "Message", EXIT_ON_CLOSE);
        }
        refresh();
}


private void EnqueueActionPerformed(java.awt.event.ActionEvent evt) {                                        

        a.enqueue(jTextFieldElement.getText());
        jTextFieldElement.setText("");
        if(a.count==a.size ||a.count < (size-1)){
         JOptionPane.showMessageDialog(this, "This is overflow", "Message", EXIT_ON_CLOSE);
        }
        refresh();
       
        
    }       


 public boolean enqueue(Object element)
{
    if( count==size  )
    return false;

    Queue[count] = element;
    count++;

    return true;

}

public Object dequeue()
{
    if(count==0 )
    return false;

    count--;
    return Queue[count];
}


Что я уже пробовал:

У меня проблема с этими кодами. Когда я ввожу size=2, размер будет равен 2. И когда я ввожу 1 число, оно работает правильно,но когда я ввожу 2-е число,оно работает неправильно ,оно добавляет Это число,но оно не должно добавлять его и должно показывать сообщение "переполнение". потому что для очередей последнее место должно быть пустым, оно не должно добавлять число в последнее место массива.как я могу это решить?что не так с моим кодом?


и вторая проблема.

вторая проблема связана с"недостаточным потоком".
когда я ввожу 2 для размера, то я ввожу 2number.а затем, когда я удаляю эти числа, после 1-го числа он показывает сообщение "underflow". но он должен показать это сообщение, когда массив пуст, и я хочу удалить его.

Извините за мой английский.
и, пожалуйста, помогите решить эти проблемы.

Заранее спасибо.

0 Ответов