私の課題は、ランダムな数学の問題を生成する簡単なmathGameを作成する必要があります。プログラムは、金額と金額をテキストファイルに記録する必要があります。また、既存のファイルを上書きするのではなく、既存のファイルの統計を更新する必要があります。テキストファイルの内容を更新する方法
これは私が各ファイル作成しています方法です。ここで
public static void saveStats() {
outputfile.println();
outputfile.println("Correct Answers:"+ correct);
outputfile.println("Incorrect Answers:" + incorrect);
if (money > 0) {
outputfile.printf("Earnings: $%.2f", money);
outputfile.println();
}
else {
float moneyNegative = Math.abs(money);
outputfile.printf("Earnings: -$%.2f", moneyNegative);
outputfile.println();
}
outputfile.flush();
}
は、プログラムを終了した後、テキストファイルの出力例です:ここで
try {
writer = new FileWriter(userName + " Stats.txt", true);
outputfile = new PrintWriter (writer);
} catch (IOException e) {
}
すると、ファイルに書き込まれているものです:
Correct Answers:0
Incorrect Answers:1
Earnings: -$0.03
正しい、正しくない、とお金は、すべてのグローバル変数であり、Tは初期化されますo。プログラムを再起動してもファイルは残っていますが、[正解]、[不正確な回答]、[収益]の値が上書きされるか、ファイルへの新しいエントリが追加されます。私はちょうどそれを更新したい。 https://pastebin.com/1Cmg5Rt8
あなたのコードは古いファイルを新しいファイルにコピーすると思います。実際の解決策は 'Scanner.nextInt()'と 'Scanner.nextDouble()'(またはそれに類似した)関数を使って古いファイルから古い統計を取得することです。 – bleistift2
完全に良い方法です。ユーザーが変数を変更したいかどうかはわかりませんでしたが、この回答を変更してファイル内の変数を変更することもできます。 – Raheel138