java jar在运行时接受多个参数

时间:2016-11-03 19:44:07

标签: java jar

我有一个java jar,需要接受大约3个参数,但我想将它们作为Q& A类型传递,如下所示: 第一步运行java jar

java -jar myTest.java

第二步提问并等待答案:

Hi, how old are you?

我输入接受它的答案,然后问第二个问题:

nice! what is your name?

键入我的第二个答案,然后输入第三个问题,依此类推。我怎么做到这一点?我知道我可以将参数传递给main,但我发现当我第一次运行jar时我必须将它们全部传递给我,而不是像我正在寻找的那样。 有任何想法吗? 谢谢!

3 个答案:

答案 0 :(得分:0)

似乎你在混淆概念。

命令行参数是那些你看作主要方法的String [] args参数的字符串!

但您希望用户提供更多"更多"输入到您的应用程序,典型的方法是从" stdin" (请参阅here了解如何操作)。

这两者根本不同;你应该首先澄清一下你真正打算使用哪一个(给出你的例子......可能是" stdin"选项)。

答案 1 :(得分:0)

与应用程序交互的方式取决于应用程序本身的逻辑......

如果您需要从起点提供应用程序所需的参数,那么您在运行应用程序后立即提供这些参数

java -jar myTest.java 

所有这些参数都传递给public static void main方法中的string []参数...

在你的情况下,(如果我得到了正确的问题)你将需要来自用户的更多信息,这是在运行时给出的......所以你需要另一种方法来做到这一点,像Scanner类允许你读取输入来自终端......

使用Scanner类并从控制台读取用户输入..

   public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("What is your name?");
    String input = sc.nextLine();
    System.out.println("Hi, " + input + ", where are you from");
    input = sc.nextLine();
    System.out.println("Ohh, " + input + " is  nice place I guess!");
    System.out.println("and how old are you??");
         ...
    }

答案 2 :(得分:0)