我对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
}
休息看起来不错。