0

我对 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();
            }
}

谢谢...

4

1 回答 1

1

创建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
    }

休息看起来不错。

于 2012-11-13T19:39:01.717 回答