我发现代码可以作为命令行参数输入。我正在使用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的控制台中显示,这更简单吧?
谢谢您的解释!
答案 0 :(得分:1)
那只是做事的另一种方式。有时,命令行参数对于快速检查程序如何响应不同的输入很有用。我想您才刚刚开始编程之旅,这就是为什么您要问这样的问题。
让我告诉您参数和输入之间是有区别的。扫描程序类可帮助您从控制台获取输入,而命令行参数则作为参数传递给您的主函数。
这是使用命令行参数的一些优点。
对您来说,最后的答案是,当我们已经有了这个时,不要想为什么。它是编程语言,您应该学习很多。您会发现1000多种做同一件事的方法。因此,喜欢学习。
答案 1 :(得分:1)
编译代码时,您执行javac MyClass.java
运行代码时,将执行java MyClass
。
好吧,MyClass.java
是javac
命令的命令行参数,而MyClass
是java
命令的命令行参数。
您认为如果这些命令改为停止并询问所需的值,它们会更好吗?特别是考虑到可以设置很多选项,那么它们是否应该一次要求一个选项,因此您必须在编译开始之前按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
哪种方法更好?如果要通过脚本执行该操作怎么办?脚本如何回答问题?