使用扫描器类而不是命令行参数来提供参数会有所不同吗?

时间:2018-06-22 16:54:20

标签: java

包装第1部分; 导入java.util.Scanner;

公共类Class1 {

public static void main(String [] args){

字符串a = args [1] ; //执行时,参数为-java Class1 1 2 3 4

System.out.println(a);

扫描仪扫描=新的扫描仪(System.in); // 用户输入为:1

int inputnumber = Scan.nextInt();

System.out.println(inputnumber);

// Scanner类是否可以替代命令行参数?

}

}

2 个答案:

答案 0 :(得分:2)

在您提出问题的上下文中(即,与主要方法的参数进行比较),Scanner类更适合交互式会话,在交互式会话中,用户可以以交互方式提供输入。但它也适用于流,文件和读取器等。
当用户通过手动启动程序与程序进行交互时,这更合适。

但是,即使程序以编程方式或通过调度程序等启动,main方法的参数也可以发送到程序。
尽管可以对软件进行编程以将交互式输入发送到其他程序,但是主程序的参数在非交互式会话中可以更好地工作。

答案 1 :(得分:2)

命令行参数是进程的配置参数。它们可能会改变处理流程以及数据的处理方式。

扫描仪从输入流读取数据。这是要处理的实际数据,而不是配置。