如何在java中保存分数?[关闭]

ssgvzors  于 2023-06-04  发布在  Java
关注(0)|答案(1)|浏览(212)

**关闭。**此题需要debugging details。目前不接受答复。

编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
昨天关门了。
Improve this question
我在Java中创建了Pong,我创建了两个方法来读取和写入保存当前分数的文本文件,以及一个方法,当按下e按钮时运行这两个方法,尽管它不起作用。我没有正确地创建读和写方法吗?

public void saveScore(KeyEvent e)
{
    
   if(e.getKeyCode()==KeyEvent.VK_E)
   {
   
       ArrayList<String> S1 = processString("" + score.player1 + "");
       ArrayList<String> S2 = processString("" + score.player2 + "");
       writeToScore(S1);
       writeToScore(S2);
       System.out.println("Score saved!");
   
   }
  
}

public ArrayList<String> processString(String text)

{

    ArrayList<String> data = new ArrayList<String>();

    int psn = text.indexOf(",");

    while(psn > -1)

    {

        data.add(text.substring(0, psn));

        text = text.substring(psn + 1);

        psn = text.indexOf(",");

    }

    data.add(text);

    return data;

}

public void writeToScore(ArrayList<String> text)
{
   try

   {

       FileWriter file = new FileWriter("HighScores.txt");

       PrintWriter outputFile = new PrintWriter(file);

       for(int i = 0; i < text.size(); i++)

       {

           outputFile.println(text.get(i));

        }

        outputFile.close();

    }

    catch(IOException ex)

    {

        System.out.println("Error");

    }
   
}
mwkjh3gx

mwkjh3gx1#

您提供的代码似乎正确处理了编写部分。writeToScore方法接收ArrayList<String>作为输入,并使用PrintWriter对象将列表中的每个元素写入名为"HighScores.txt"的文件。
但是,我没有看到任何与阅读文本文件相关的代码。如果你想实现一个从文件中读取分数的方法,你需要创建一个单独的方法来处理阅读逻辑。下面是一个如何实现readFromScore方法的示例:

public ArrayList<String> readFromScore() {
        ArrayList<String> scores = new ArrayList<>();
    
        try {
            BufferedReader reader = new BufferedReader(new FileReader("HighScores.txt"));
            String line;
            while ((line = reader.readLine()) != null) {
                scores.add(line);
            }
            reader.close();
        } catch (IOException ex) {
            System.out.println("Error reading scores from file.");
        }
    
        return scores;
    }

相关问题