我对GenericQueue感到困惑。仅添加元素(queue.enqueue)和从中删除元素(queue.dequque),如何显示用户输入的反词?

更具体地说,我有以下针对Java的代码。

import java.util.Scanner;

public class displayreverse {
public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        GenericQueue<String> queue = new GenericQueue<String>();
        System.out.print("Enter some words: ");
        String words = input.nextLine();

        queue.enqueue(words);
        System.out.println(queue);

    }
}


输出将如下所示:

run:
Enter some words: who are you
Queue; [who are you]


如何使用GenericQueue使其以相反的顺序显示?输出应为:“您是谁”而不是“您是谁”

我的GenericQueue类如下:

public class GenericQueue<E> {
    private java.util.LinkedList<E> list = new java.util.LinkedList<E>();
            public void enqueue(E e){
                list.addLast(e);
            }
            public E dequeue(){
                return list.removeFirst();
            }
            public int getSize(){
                return list.size();
            }
            public String toString(){
                return "Queue; " + list.toString();
            }
}


谢谢...

最佳答案

enqueueFirst中创建GenericQueue方法作为在前面添加元素(或更改enqueue以在前面添加元素而不是最后一个)

  public void enqueueFirst(E e){
    list.addFirst(e);
  }


为了使用enqueueFirst接收同一行中的所有单词,如下所示:

    System.out.print("Enter some words: ");
    String wordsLine = input.nextLine();
    String[] words  = wordsLine.split(" ");//split the words separated by space
    for(String word: words){
        queue.enqueueFirst(word);//add one word at a time
    }


休息看起来不错。

09-25 15:17