当前位置: 首页 > 面试题库 >

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

庾君博
2023-03-14
问题内容

对于我的学校项目,我正在创建一款类似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("=")

是从此开始的地方。



 类似资料:
  • 问题内容: 在将应用程序从Struts 1迁移到Struts 2时 在某些地方,基于请求参数,同一操作类已用于不同类型的视图。 例如:如果is为1意味着需要附加一个参数,或者如果is 2意味着需要附加更多额外的参数,例如,我需要使用将动态参数传递给其他操作。 struts-config.xml 动作班 但是,我无法在Struts 2中做同样的事情。在Struts 2中,动态参数可以使用吗? 问题答

  • 问题内容: 我有一台使用HTTPS且使用Firefox的Grizzly制造的REST服务器。这是代码: 现在,我尝试用Java达到它: 得到: 从我在网上找到的示例来看,似乎需要设置一个Truststore,然后再设置某种TrustManager。对于我这个简单的小项目,这似乎需要大量代码和设置工作。有没有更简单的方法可以说..我信任此证书并指向.cert文件? 问题答案: 当您说“是否有一种更简

  • 问题内容: 我想将组件与Android的新实现一起使用。但是,提供的方法仅支持旧的实现。有没有一种方法可以轻松地将a绑定到组件? 问题答案: 您必须使用它 来模拟和设置with 。否则,您将必须编写自己的适配器,以结合双方。 它的代码在Kotlin中看起来像这样

  • 问题内容: 好吧,我想制作一个可以显示4种不同分布的动画,但是当我使用gridspec制作子图时,它不起作用,代码如下: 在这种情况下,动画不起作用,但有趣的是,如果我使用 使ax1,ax2,ax3,ax4保持不变,代码运行良好,因此使用gridspec时是否需要了解一些详细信息? 问题答案: GridSpec参数和与不兼容。您可以使用或指定间距。 如果要使用GridSpec,则有两个选择: 删除

  • 问题内容: 我想使用查询字符串成功登录后将用户重定向到另一个页面。如果我复制并粘贴到浏览器的地址栏中,则可以正常工作。但是如果我用 网址看起来像 如何将%3F解码为“?” ?谢谢 问题答案: 它应该是

  • 所以我导入PromiseKit,然后尝试 显然,这是行不通的,我想知道,如果可能的话,我还缺少什么可以让Firebase的promise发挥作用。我试图实现的是用一个catch方法一次性删除四个Firebase引用。 使用nodeJs,我可以轻松使用: 有没有办法在Swift中实现这一点?