我试图用java在命令行中输入两个值。我得到了这个错误。为什么?

我试图用java在命令行中输入两个值。我得到了这个错误。为什么?,java,Java,这是我在主函数中的一段代码。每当我尝试运行我的程序时,都会出现以下错误: String fileName1 = args[0]; //LINE 14 i am getting error here String fileName2 = args[1]; File file1 = new File(fileName1); File file2 = new File(fileName2); Scanner input1 = new Scanner(fil

这是我在主函数中的一段代码。每当我尝试运行我的程序时,都会出现以下错误:

    String fileName1 = args[0]; //LINE 14 i am getting error here
    String fileName2 = args[1]; 


    File file1 = new File(fileName1);
    File file2 = new File(fileName2);
    Scanner input1 = new Scanner(file1);
    Scanner input2 = new Scanner(file2);

如何修复此问题?

您的命令行必须如下:
java-jar jarfile.jar firstString secondString

您必须在命令中提供2个字符串。如果不必在命令行上运行,
firstString
secondString
。您必须转到运行配置…->然后找到主类->输入string1和string2作为我的图片。


在这张图片中,Tray是我的类,主要功能是

问题是你把它称为“命令行”而不是“控制台”。 这是命令行的一个示例:

这是一个控制台示例,假设您使用的是Eclipse:


因此,在程序已经运行之后,您试图在控制台中输入文件位置,但是Java程序在您运行它时就希望通过
main
方法中的
args[]
数组输入文件位置。因此,出现了错误。要解决这个问题,您应该使用Tuyen的答案。

您是如何运行程序的?你要输入什么命令行?@ElliotFrisch我想是控制台?抱歉,我是java新手。请在命令行中显示您正在输入的确切命令,以便运行该程序。
ArrayIndexOutOfBoundsException
at
0
没有任何意义,特别是因为索引1没有超出范围…@JackKirby java在产生异常的第一行停止执行
args[1]
从不运行,因此它没有机会抛出异常。是的,但是@smerg Monkey要求命令行出现问题。他们不允许我在命令行中写入任何内容。就在那里happens@SpermMonkey“他们”是谁?如果您不能输入命令,您如何从命令行运行应用程序?请在你的问题中准确解释你是如何运行这个程序的。
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
   at MainProgram.main(MainProgram.java:14)