我正在嘗試將數據存儲到堆棧中。如果我錯了,請更正我,堆棧是Last in,first out類型。所以,我期待着我的計劃的輸出會有點逆轉。但可悲的是說輸出是不同的。我不確定哪部分代碼是錯誤的。java中的堆棧無法正常工作?
請幫忙:
CODE:
`
公共類CorruptQueue {
public static void LineUp(){
BufferedReader br = null;
try {
String line;
Stack nameStack = new Stack();
Stack statusStack = new Stack();
Stack stack = new Stack();
br = new BufferedReader(new FileReader("C:/Users/user/Desktop/School Files/Project/CorruptOffice/input.txt"));
while ((line = br.readLine()) != null) {
StringTokenizer stringTokenizer = new StringTokenizer(line, " ");
while (stringTokenizer.hasMoreElements()) {
String lineup = stringTokenizer.nextElement().toString();
String name = stringTokenizer.nextElement().toString();
String status = stringTokenizer.nextElement().toString();
nameStack.push(name);
statusStack.push(status);
System.out.println("Now serving "+ nameStack.pop() + " a " + statusStack.pop());
/*StringBuilder sb = new StringBuilder();
sb.append("" + lineup);
sb.append(" " + name);
sb.append("" + status);
sb.append("\n\n");
System.out.println(sb.toString());*/
}
}
System.out.println("Done");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)
br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
public static void main(String[] args)
{
LineUp();
} }`
輸入:
陣容約翰經常
陣容鮑勃經常
陣容湯姆定期
陣容薩拉VIP
陣容瑪麗VIP
陣容瓊VIP
陣容衣VIP
陣容漢克經常
陣容藝術規律
陣容菊花VIP
陣容馬呂斯定期
陣容戴恩VIP
OUTPUT:
現在服務約翰經常
現在服務鮑勃定期
現在服務湯姆經常
現在服務莎拉VIP
現在服務瑪麗貴賓
現在服務瓊VIP
現在服務比亞貴賓
現在服務漢克常規
現在服務藝術定期
現在服務雛菊VIP
現在服務馬呂斯定期
現在服務戴恩貴賓
完成
是您在你把它的順序輸入?即你推約翰,然後鮑勃..或者是什麼堆棧看起來像? – christopher 2013-02-25 16:15:52