我在我的程序中遇到麻煩,它要求用戶輸入一個單詞,程序會將每個字母存儲到隊列中。當我輸出隊列的內容時,這些字母全部被加密。這發生在大多數單詞上。例如,當我輸入「racecar」時,隊列將顯示爲[a,c,a,r,e,c,r],而不是[r,a,c,e,c,a,r]。任何想法爲什麼發生這種情況隊列元素被加密,而不是按順序
import java.util.Scanner;
import java.util.*;
public class WordQueue
{
public static void main(String arg[])
{
while(true){
String phrase;
int phraselength;
PriorityQueue queue = new PriorityQueue();
Scanner sc = new Scanner(System.in);
System.out.println("Enter a word/phrase");
phrase = sc.nextLine();
phrase = phrase.replaceAll("\\p{Punct}|\\d",""); //remove all punctuation
phraselength = phrase.length(); //get length of phrase
System.out.println(phraselength);
for(int x = 0; x <= phraselength-1; x++) //store each letter
{ //in queue
queue.offer(phrase.charAt(x));
}
System.out.println("");
System.out.printf("%s ", queue); //output queue
}
}
}
從Priority_ueue上的[Javadoc](http://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html):優先級隊列的元素按照他們的自然順序。 – GriffeyDog