データをスタックに保存しようとしています。間違っていたら訂正してください。スタックは後入れ先出しタイプです。だから、私のプログラムの出力がちょっと逆になると思っていました。しかし、出力が異なると言うのは悲しいことです。コードのどの部分が間違っているのかわかりません。
助けてください:|
コード:
`
public class 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
ラインナップ Bea VIP
ラインナップ ハンク レギュラー
ラインナップ アートレギュラー
ラインナップ デイジー VIP
ラインナップ マリウス レギュラー
ラインナップ デーン VIP
出力:
現在、ジョンのレギュラーにサービスを提供しています
現在、ボブに定期的にサービスを提供しています
現在、トムに定期的にサービスを提供しています
サラに VIP を提供するようになりました
現在、マリーに VIP を提供しています
Joan に VIP を提供しています
Bea に VIP を提供中
現在、ハンクに常連としてサービスを提供しています
現在アートを定期的に提供しています
現在、デイジーに VIP を提供しています
現在、マリウスに常連としてサービスを提供しています
現在、デーンに VIP を提供しています
終わり