java - 游戏设置文件问题

标签 java for-loop fileinputstream

嗨,我正在开发一个设置加载器系统,它不想工作,我尝试了不同的方法,这个看起来最好,除了它不起作用,我可以请一些帮助吗,因为我需要在一天结束前完成这项工作。

这是代码:

public GameSettings getGameSettings() throws Exception
{
    Resolution GameResolution;
    GameSettings gs = new GameSettings(true, true, false, 50, new Resolution(800, 600));

    for(int k = 0; k < lines.size(); k++)
    {
        String[] s1 = lines.get(k).split("=");

        if(s1[0].equals("volume"))
        {
            gs.setVolume(Integer.parseInt(s1[1]));
        }
        if(s1[0].equals("musicOn"))
        {
            gs.setMusicOn(Boolean.parseBoolean(s1[1]));
        }
        if(s1[0].equals("soundOn"))
        {
            gs.setSoundOn(Boolean.parseBoolean(s1[1]));
        }
        if(s1[0].equals("aOpenGL"))
        {
            gs.setAOpenGL(Boolean.parseBoolean(s1[1]));
        }
        if(s1[0].equals("GameRes"))
        {
            String[] s2 = s1[1].split("x");
            GameResolution = new Resolution(Integer.parseInt(s2[1]), Integer.parseInt(s2[1]));
            gs.setGameResolution(GameResolution);
        }
        if(s1[0].startsWith("#"))
        {
            continue;
        }
        else
        {
            System.err.println("WARNING: Unknow setting in settings file ('" + s1[0] + "')");
            continue;
        }
    }

    return gs;
}

,这是“settings.dat”文件内容:

#************************** Settings
#Settings file version 1.5
musicOn=false
volume=75
soundOn=true
aOpenGL=false
GameRes=1000x800
#end of settings file

最后是控制台输出:

WARNING: Unknow setting in settings file ('musicOn')
WARNING: Unknow setting in settings file ('volume')
WARNING: Unknow setting in settings file ('soundOn')
WARNING: Unknow setting in settings file ('aOpenGL')
WARNING: Unknow setting in settings file ('GameRes')

最佳答案

您需要将这些 ifelse 链接起来。

if (str.equals("a")) {
  ...
} else if (str.equals("b")) {
  ...
} else {
  // failed to match anything
}

否则,每次循环运行时都会对所有 if 进行求值,因此对于所有非注释行都会显示 Unkown 消息,无论它们是否匹配某些内容之前或之后。

关于java - 游戏设置文件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8208158/

相关文章:

java - 如果单元格为空,工作簿库不会读取单元格值

java - 数组的读锁

java - 从 XSD 问题生成 JAXB 类

python - 在一行中打印 for 循环结果并排序

c - 使用指针的 for 循环优化

c++ - 无论如何要将 filein 重置为初始状态?

java - 在没有 GUI 的情况下运行程序

c++ - 在 2D 指针和重新生成中从文件输入字符时出现异常错误

java - 将 ZipOutputStream 转换为 FileInputStream

python - double for,python 中的一些错误