对于我的学校项目,我正在为 iPhone 创建一个类似 Bad Apples 的游戏(不是我个人的选择,但这不是问题所在)。
游戏需要有两个版本,第一个在控制台中,第二个在 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")) {
第二个问题是解析 ANOTHER。
args[x].split("=")
是开始的地方。
关于java - 如何在 Java 中使用带值的终端参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10745811/