将点保存到文件Java

时间:2016-02-24 06:46:07

标签: java

老实说,我找不到任何可以回答我的问题的帖子,如果我有~4个游戏要求用户输入赌注,如果他们赢了,我怎么会每次保存新的金额?所以,如果我有很多if语句,比如骰子游戏

 if (UserPlay.equals(ComputerPlay))
    {
        System.out.print("Tie");
    }
    else if (UserPlay == "Rock" && ComputerPlay == "Paper" )
    {
        System.out.print("Computer wins");
        money = money - (bet * 2);
    }
    else if (UserPlay == "Rock" && ComputerPlay == "Scissors")
    {
        System.out.print("You win");
        money = money + (bet * 2);
    }
    .... etc

如何继续更新我的文件以按顺序覆盖之前的金额,以便如果用户退出并再次进入游戏,金额将保持不变。

4 个答案:

答案 0 :(得分:1)

尝试使用equals方法代替==,如下所示:

  else if ("Rock".equals(UserPlay) && "Paper".equals(ComputerPlay))
  ...
  else if ("Rock".equals(UserPlay) && "Scissors".equals(ComputerPlay))
  ...

了解Equals Vs ==

的更多细节

答案 1 :(得分:0)

要将数据保存到文件中并再次阅读,您可以尝试:

// when write
OutputStream out = new FileOutputStream(new File("data.txt"));
out.write(String.valueOf(money).getBytes());
out.close();

try {
    // and when read, it is better to put it in the try catch block
    // maybe for the first time cannot find the file
    InputStream in = new FileInputStream(new File("data.txt"));
    byte[] b = new byte[1024];
    in.read(b);
    in.close();
    money = Integer.parseInt(new String(b));
} catch (IOException e) {
    e.printStackTrace();
}

答案 2 :(得分:0)

您可以创建一个文件,将所有信息成对保存,然后根据需要进行读取/重写。如果玩家再次登录 - 您只需要在档案中找到他,并阅读货币价值。

答案 3 :(得分:0)

  1. 您无法将字符串与" =="进行比较运算符,因为它是对象链接的比较。使用.equals()方法:
  2. String name1 = "John"
    String name2 = "Gregor"
    
    if (name.equals(some)) {
       // ...
    }
    
    1. 尝试将Java Properties作为您的存储引擎
    2. 记录将如下所示:

      John=352  
      Stella=363  
      Henry=543