制作一个高分函数,将得分写入java中的文件

时间:2014-12-14 21:48:01

标签: java eclipse

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();

    }

}

这不是我的所有代码,但我想让它计算用户获胜的次数,并在经销商获胜时停止,然后将数字(即他们的高分)写入文件。此外,当我刷新或运行我的程序时,我的文件没有出现,我已经到处搜索它。

3 个答案:

答案 0 :(得分:0)

确保冲洗它。

fw.flush();

除了你手头创建.txt之外。

myFile.createFile();

请阅读此内容,http://docs.oracle.com/javase/tutorial/essential/io/file.html

答案 1 :(得分:0)

highScore函数似乎可以保存“某些东西”。 但你从来没有真正称呼它。 即使你打电话,也只会在其中写下这一行:

  

你已经打败了经销商。

没有意义。 看起来好像你想在“打败经销商N次”中写一个数字N, 但你不是那样做的。 因此,此代码看起来不完整,就像您停止在中间编写它一样。

如果您确实调用此方法, 然后将创建文件。 由于在new File("highscore.txt");中您使用了相对路径"highscore.txt", 该文件将在执行目录中创建。 如果从IDE运行此命令,则执行目录通常是项目的目录。 另一种方法是使用绝对路径,例如"c:/highscore.txt", 那么你绝对可以轻松找到它。

答案 2 :(得分:0)

上面说明的答案绝对正确,但你也可以静态保存,如果你想通过在功能上使用简单的char来显示他已经咬了多少次,只需增加计数器数。 Nd用新文本清除文件文本或仅通过替换字符串

的函数替换数字