繁体   English   中英

制作将分数写入Java文件的高分函数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM