我们什么时候应该使用命令行参数?

时间:2019-06-12 02:34:51

标签: java command-line arguments

我发现代码可以作为命令行参数输入。我正在使用Eclipse,但是Algorithms 4th Edition中的示例代码接受args [0]等。我知道我们可以在Eclipse中输入参数。
开始编辑
在Eclipse中,当有一行这样的代码Run Configuration
时,我需要转到int T = Integer.parseInt(args[0]);以输入参数 但是很明显,如果我们编写代码int T = scanner.nextInt();
我什至不需要进入Run Configuration来输入Program Arguments,而我只需要单击run按钮并在Eclipse的控制台中输入值即可。
编辑结束。
所以,我的问题是:

  

1)当我们可以使用Scanner类解决问题时,使用命令行参数的功能是什么?
  2)输入和输出将在Eclipse的控制台中显示,这更简单吧?

谢谢您的解释!

2 个答案:

答案 0 :(得分:1)

那只是做事的另一种方式。有时,命令行参数对于快速检查程序如何响应不同的输入很有用。我想您才刚刚开始编程之旅,这就是为什么您要问这样的问题。

让我告诉您参数和输入之间是有区别的。扫描程序类可帮助您从控制台获取输入,而命令行参数则作为参数传递给您的主函数。

这是使用命令行参数的一些优点。

  1. 您可以传递任意数量的参数,而无需为其定义变量。
  2. 下一个好处是您可以使用命令行传递任何数据类型,然后可以相应地对函数进行编码。

对您来说,最后的答案是,当我们已经有了这个时,不要想为什么。它是编程语言,您应该学习很多。您会发现1000多种做同一件事的方法。因此,喜欢学习。

答案 1 :(得分:1)

编译代码时,您执行javac MyClass.java
运行代码时,将执行java MyClass

好吧,MyClass.javajavac命令的命令行参数,而MyClassjava命令的命令行参数。

您认为如果这些命令改为停止并询问所需的值,它们会更好吗?特别是考虑到可以设置很多选项,那么它们是否应该一次要求一个选项,因此您必须在编译开始之前按Enter 20次以上?

这只是命令行参数的两个示例,它们有多有用。

让我们使用另一个示例。我们要创建一个Zip文件,最简单的是需要一个Zip文件的名称,以及一个要添加到Zip文件中的文件名列表。

使用扫描仪,可能看起来像这样:

java CreateZip
Enter name of Zip file: foo.zip
Enter name of file to include, blank when done: Hello.txt
Enter name of file to include, blank when done: Yeehaa.txt
Enter name of file to include, blank when done: bar.doc
Enter name of file to include, blank when done: baz.png
Enter name of file to include, blank when done:
Zip file created

或者您可以使用命令行参数:

java CreateZip foo.zip Hello.txt Yeehaa.txt bar.doc baz.png
Zip file created

哪种方法更好?如果要通过脚本执行该操作怎么办?脚本如何回答问题?