队列

2014-12-03 74 views
0

搜索字符串我有点新的节目,很抱歉,如果这是愚蠢..队列

我有一个字符串的队列,我想在此代码搜索关于元素“E”代码。 因为每次出现此错误显示:

字符串不能转换为字符。

public class Queue<Character> { 
private java.util.LinkedList<Character> list = new java.util.LinkedList<Character>(); 
public Queue() { 
} 
public void clear() { 
list.clear(); 
} 
public boolean isEmpty() { 
return list.isEmpty(); 
} 
public Character firstEl() { 
return list.getFirst(); 
} 
public Character dequeue() { 
return list.removeFirst(); 
} 
public void enqueue(Character el) { 
list.addLast(el); 
} 
public String toString() { 
return list.toString(); 
} 

public static void main(String []arg) { 
Queue<String> student = new Queue<String>(); 
student.enqueue("A"); 
student.enqueue("B"); 
student.enqueue("C"); 
student.enqueue("D"); 
student.enqueue("E"); 
student.enqueue("F"); 
System.out.println(student.toString()); 
String mStr = student.dequeue(); 
System.out.println(mStr + " came first and being served first"); 
} 
} 
+0

这个运行在ideone罚款([DEMO](http://ideone.com/g4Td0s))。你有什么问题? – dasblinkenlight 2014-12-03 20:34:06

+0

你在使用什么编译器和你在哪个版本的Java?这在Java 7中与Eclipse一起运行良好。 – Drew 2014-12-03 21:07:29

回答

1
student.enqueue("A"); 

应改为:

student.enqueue('A'); 

双引号创建一个字符串和排队需要一个字符。

+0

该操作发布的代码正常工作。您提供的内容将导致运行时错误。 – 2014-12-03 20:54:11

0

“我有一个字符串的队列,我想搜索关于元素码‘E’在此代码”

我想你问的代码,以查找链表一些元素?

public int find(java.lang.String string){ 
    for(int i = 0; i < list.size(); i++){ 
     if(list.get(i).equals(string)) return i; 
    } 
    return -1; 
} 

此代码将一些字符串作为参数,如果该元素存在于列表中,则返回找到它的索引。如果它不存在,则返回-1。

如果你这样做,你System.out.println(student.find("E"));打印链表之后,您将获得4