私のプログラムでは、いくつかのカスタム変数をテキスト ファイルから読み込んで使用しています。これを行うメソッドです。
public int[] getGameSettings() {
String[] rawGame = new String[100];
String[] gameSettingsString = new String[6];
int[] gameSettings = new int[6];
int finalLine = 0;
int reading = 0;
try{
// Open the file that is the first
// command line parameter
FileInputStream fstream = new FileInputStream("gameSettings.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
//Read File Line By Line
int line = 0;
while ((strLine = br.readLine()) != null) {
// Store it
rawGame[line] = strLine;
line++;
}
//Close the input stream
in.close();
reading = line;
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
for (int a = 0; a < reading; a++) {
if (!rawGame[a].substring(0,1).equals("/")) {
gameSettingsString[finalLine] = rawGame[a];
finalLine++;
}
}
for (int b = 0; b < finalLine; b++) {
gameSettings[b] = Integer.parseInt(gameSettingsString[b]);
}
return gameSettings;
}
そのメソッドを別のクラスから呼び出し、配列を gameSettings として保存してから、次の操作を行います。
contestedMovementPercent = (gameSettings[1]/100);
gameSettings[1] を印刷すると、正確にあるべき姿になりますが、競合する動きは常に 0.0 に表示されます。conflictedMovementPercent は double です。gameSettings は両方のクラスで int の配列です。
私がしなければならないある種のキャストはありますか?int はこのように使用できると思いました。