.txtファイルから値をインポートして配列に入れますが、最終的に配列に格納される数値はファイルのものとは異なります。私はそれをどうやって修正できるのか分かりません。外部の.txtファイルの値がコンソールにインポートされたときに異なる
テキストファイルは、これらの値
2
20.0
10.0
100
にレイアウトされているファイルに値をインポートする方法は次のとおりです。
//variables global to the class
public static int level;
public static int hp;
public static double vigor;
public static double intelligence;
public static void checkSaveState() throws IOException
{
//this method checks the save file for data
try
{
double[] savedGa = new double[4];
BufferedReader saveFile = new BufferedReader(new FileReader("HRHeroSaveGame.txt"));
for (int i = 0; i < 4; i++)
{
savedGa[i] = saveFile.read();
}
level = (int) savedGa[0];
vigor = savedGa[1];
intelligence = savedGa[2];
hp = (int) savedGa[3];
System.out.println("Level: " + level + " Vigor: " + vigor + " Intelligence: " + intelligence + " HP: " + hp);
} catch (FileNotFoundException e) {
System.out.println("Sorry, a save file couldn't be found for you.");
}
}
出力は常にこのように終わる:
Level: 50 Vigor: 13.0 Intelligence: 10.0 HP: 50
これが関連する場合は、これがファイルを作成した方法です。
public static void saveGame() throws IOException
{
PrintWriter saveFile = new PrintWriter(new FileWriter("HRHeroSaveGame.txt"));
saveFile.println(level);
saveFile.println(vigor);
saveFile.println(intelligence);
saveFile.println(hp);
saveFile.close();
}
健全性チェックを試みましたか?つまり、テキストファイルを手作業で作成し、それを読み込もうとしていますか? –