【发布时间】:2019-03-02 06:22:41
【问题描述】:
命令行参数和输入有什么区别?
给定一些程序正在运行:
$ java JavaProgram 4 5
Hi! give me some input!
6
now give me some more input!
7
在这个例子中,4 5 是命令行参数,6 7 是输入。
命令行参数和输入似乎都提供了从用户那里获取一些不同数据的相同功能。我们都需要什么?
【问题讨论】:
命令行参数和输入有什么区别?
给定一些程序正在运行:
$ java JavaProgram 4 5
Hi! give me some input!
6
now give me some more input!
7
在这个例子中,4 5 是命令行参数,6 7 是输入。
命令行参数和输入似乎都提供了从用户那里获取一些不同数据的相同功能。我们都需要什么?
【问题讨论】:
命令行参数和输入是两个不同的东西。
在运行之前,将命令行参数提供给正在运行的应用程序。我们来看一个例子:
$ java JavaProgram 30 91
首先我们为应用程序JavaProgram 提供命令行参数30、91,然后我们才按Enter 并将其作为Java 程序运行。
意思:
与此相反,可以在应用程序运行期间向其提供输入,因为它只能在开始运行后请求输入。 出于这个原因,我们可以在请求输入之前向用户打印一些文本,指示我们期望的输入等。
但是我们不能使用命令行参数来做到这一点,因为一个没有运行的应用程序 - 不能做任何事情,特别是不能向用户打印消息。
命令行参数只接受一次 - 零、三个、九十或任意数量的命令行参数。 (其实这个数字是有限制的,但是很大而且无关紧要)
可以多次输入。 出于这个原因,输入可以是交互式的——系统可以接受输入,然后根据它做出响应,然后接受更多输入,等等。 命令行参数只接受一次,因此不能用于管理任何交互性。
以上所有内容,缩小了对话“命令行参数和输入之间的区别是什么?”对于我们希望输入一次并且不希望在此之前打印任何内容的非常具体的情况。即使在这种情况下,仍然会在程序开始运行之前给出命令行参数,与程序开始运行后给出的输入相比。
【讨论】: