1
我寫一個程序,它允許用戶玩老虎機的信息,然後保存他們的姓名和分數到一個文本文件中。在程序和老虎機遊戲結束的開始,有三個選項的菜單,用戶可以選擇:存儲和顯示多個用戶的一個文本文件
- 要玩新遊戲
- 查看成績
- 退出了比賽。
當用戶按2時,程序應該顯示每個遊戲的得分,而不僅僅是剛剛玩的遊戲;所以,每當用戶播放時,他們的信息應該被附加到已經存在的文件score.txt
。
我的問題是,每當我嘗試從這個文件中讀取,它永遠只顯示從比賽成績只是打。這裏是運行遊戲結束後的代碼:
System.out.println("Game over! Your score has been written to scores.txt" + name + "!");
System.out.print("Actions:\n");
System.out.println("1. Start a new game\n" +
"2. View scores\n" +
"3. Exit ");
System.out.println("Please select an action: ");
action = keyboard.nextInt();
while (action == 2) {
File myFile = new File("score.txt");
Scanner inputFile = new Scanner(myFile);
if (myFile.exists()) {
while (inputFile.hasNext()) {
name = inputFile.nextLine();
System.out.println("Name\n------\n" + name + "\n");
total = inputFile.nextDouble();
System.out.printf("Scores\n------\n$%.2f\n", total);
System.out.println();
}
} else
System.out.println("There are no scores to display at this time.");
System.out.print("Actions:\n");
System.out.println("1. Start a new game\n" +
"2. View scorse\n" +
"3. Exit ");
System.out.println("Please select an action: ");
action = keyboard.nextInt();
}
你是否已經通過調試器或使用println()來完成它,確保你的代碼執行了你認爲它的工作? –
你有沒有檢查你的score.txt文件?它真的包含多個高分嗎? –
這就是問題所在。它不包含超過一個分數。它應該包含每個跑過程序並玩過遊戲的用戶的分數,但它只存儲剛剛玩過的用戶的分數。它不會將每個玩家的數據追加到文本文件中,因爲我想要它,我不知道該怎麼做。 – user3525572