隊列

2014-12-03 25 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