[英]Making a highscore function that writes the score to a file in java
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class GameRunner {
public static void main(String[] args) {
Scanner scan = new Scanner (System.in);
System.out.println("Welcome to blackjack!\nEnter your name please.");
String name = scan.nextLine();
System.out.println("Here are your cards " + name);
Deck theDeck = new Deck(1, true);
if (mySum > dealerSum && mySum <= 21 || dealerSum > 21){
System.out.println("You win!");
}//if
else if (mySum == dealerSum) {
System.out.println("It's a draw!");
}//else
else {
System.out.println("Dealer wins!");
}
}//main
public void highScore() throws IOException{
File myFile=new File("highscore.txt");
FileWriter fw=new FileWriter(myFile, true);
String end= "You have beaten the dealer " + "times.";
fw.write(end);
fw.close();
}
}
这不是我的全部代码,但是我希望它计算用户获胜的次数,并在发牌人获胜时停止,然后将其最高得分的数字写入文件中。 另外,当我刷新或运行程序时,我的文件没有显示,并且在各处搜索它。
确保冲洗。
fw.flush();
以及您之前创建的.txt文件。
myFile.createFile();
请阅读此内容, http://docs.oracle.com/javase/tutorial/essential/io/file.html
highScore
函数似乎可以保存“内容”。 但是您从来没有真正称呼它。 即使您调用它,它也只会在其中写以下行:
您已经击败了经销商。
这没有道理。 好像您想在“打败经销商N次”中写一个数字N一样,但是您没有这样做。 因此,此代码看起来不完整,就像您停止在中间编写代码一样。
如果你调用此方法,则文件将被创建。 由于在new File("highscore.txt");
您使用相对路径"highscore.txt"
,该文件将在执行目录中创建。 如果从IDE运行此文件,则执行目录通常是项目的目录。 另一种选择是使用绝对路径,例如"c:/highscore.txt"
,那么您绝对可以轻松找到它。
上面所说的答案是绝对正确的,但是您也可以静态保存它,并且如果您想通过使用函数中的简单字符来显示自己被咬的次数,则可以增加计数器的数量。 Nd清除文件文本为新文本或仅通过替换字符串功能替换数字
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.