小编典典

如何在Java中将终端参数与值一起使用?

java

对于我的学校项目,我正在创建一款类似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之类的值。我已经想到了一个枚举,但是我真的不知道该怎么做。

谁能解释一下实现这一目标的方法?


阅读 226

收藏
2020-11-30

共1个答案

小编典典

为了回答您实际提出的问题…

您的args数组中的某些元素的形式为“ –SOMETHING = ANOTHER”。

因此,您需要做的第一件事是:

if(args[x].startsWith("--SOMETHING")) {

第二个问题是解析另一个。

args[x].split("=")

是从此开始的地方。

2020-11-30