基本上,我有一个游戏,这就是我管理谁是所有者以及谁是主持人的方式。
public static final String[] ADMINS = {"test", "jonathan", "bob"};
该行位于Settings.java
中在Commands.java中我将如何发出命令
case "giveadmin":
//write the users name to list
return true;
这会物理更改数组并为其添加名称。例如,假设我在名为jerry的玩家上使用了giveadmin命令。我如何添加代码,以便在Settings.java中更改此数组
public static final String[] ADMINS = {"test", "jonathan", "bob"};
到此
public static final String[] ADMINS = {"test", "jonathan", "bob", "jerry"};
并且不,我只是不想像其他所有数组一样追加名称,我想在打开课程时看到jerry添加到数组中的名称。
答案 0 :(得分:1)
我不建议这样做。而是编写一个文件,该文件是所有管理员用户名的分隔符(例如新行)。
当您的程序启动时,请阅读该文件并在文件中创建每个名称的ArrayList<String>
(或其他集合)。
如果要添加新名称,请打开文件,将其追加到最后,保存,然后将其添加到ArrayList<String>
。如果文件已被另一个程序实例(或其他)同时修改,则必须再次打开该文件。
这样做的好处是,无法阅读java的非技术人员仍然可以使用记事本编辑管理员文本文件。
答案 1 :(得分:1)
改变自己的源代码的程序是一个非常糟糕的主意。首先不仅难以做到这一点,你将无法保持一致的游戏。每当添加管理员时,必须重新编译代码(耗时的过程),然后重新启动游戏。
更好的方法是将所有这些信息存储在配置/ XML文件中。格式的东西
ADMINS= test, jonathan, bob
MODS= kyle, zach, bill
这样,您可以在启动时逐行读取文件,并在每行上读取String.split()以将名称解析为数组。
添加管理员时,您只需创建一个新数组并使用附加的新值复制旧值,并将其写入配置文件中的相应位置。