我对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();
}
}
...谢谢
答案 0 :(得分: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
}
休息看起来不错。