对于我的学校项目,我正在创建一款类似iPhone坏苹果的游戏(不是我个人的选择,但这不是问题)。
游戏需要有两个版本,第一个版本在控制台中,第二个版本在JavaFX中。但我想进一步说明这一点。我想添加用户在启动游戏时可以添加到终端的参数,例如
java -jar BadApplesClone.jar –height = 10 –width = 10 –numPieces = 5
然后,我将处理所有引入的值并更改变量。
我正在使用OpenJDK6,所以现在我正在这样做:
for (int i=0; i<args.length; i++) { if (args[i].equals("--help")) throw new UnsupportedOperationException("Not yet implemented"); if (args[i].equals("--largura")) throw new UnsupportedOperationException("Not yet implemented"); if (args[i].equals("--altura")) throw new UnsupportedOperationException("Not yet implemented"); if (args[i].equals("--pecas_inicio")) throw new UnsupportedOperationException("Not yet implemented"); if (args[i].equals("--javafx")) { JavaFX javaFX = new JavaFX(ALTURA, LARGURA, PECAS_INICIO); javaFX.initJogo(); } }
但是我不知道如何处理–width = 10之类的值。我已经想到了一个枚举,但是我真的不知道该怎么做。
谁能解释一下实现这一目标的方法?
为了回答您实际提出的问题…
您的args数组中的某些元素的形式为“ –SOMETHING = ANOTHER”。
因此,您需要做的第一件事是:
if(args[x].startsWith("--SOMETHING")) {
第二个问题是解析另一个。
args[x].split("=")
是从此开始的地方。