Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.ArrayIndexOutOfBoundsException:对于使用命令提示符工作的程序,Eclipse中存在0错误?_Java_Eclipse_Indexoutofboundsexception - Fatal编程技术网

java.lang.ArrayIndexOutOfBoundsException:对于使用命令提示符工作的程序,Eclipse中存在0错误?

java.lang.ArrayIndexOutOfBoundsException:对于使用命令提示符工作的程序,Eclipse中存在0错误?,java,eclipse,indexoutofboundsexception,Java,Eclipse,Indexoutofboundsexception,是的,所以我设法让Eclipse工作(我们需要在考试中使用它)。我正在导入和运行我用gedit编写的一些程序,并用命令提示符运行(这很有效),但它们在Eclipse中似乎不起作用。 我的Hello World程序有,但我的其他程序似乎抛出了关于args的错误 package week1; public class PersonalGreeting { public static void main(String[] args) { String first_name

是的,所以我设法让Eclipse工作(我们需要在考试中使用它)。我正在导入和运行我用gedit编写的一些程序,并用命令提示符运行(这很有效),但它们在Eclipse中似乎不起作用。
我的Hello World程序有,但我的其他程序似乎抛出了关于args的错误

package week1;

public class PersonalGreeting {

    public static void main(String[] args) {
        String first_name = args[0];
        String last_name = args[1];
        System.out.println("Hello " + first_name + " " + last_name);
    }
}
错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0  
    at week1.PersonalGreeting.main(PersonalGreeting.java:6)

有没有办法解决这个问题,是什么原因造成的?为什么它应该在命令提示符下工作而不是在Eclipse中工作?

看起来程序没有收到预期的命令行参数。查看Eclipse中的执行配置,以便将强制参数传递给您编写的任何命令行程序。

程序似乎没有收到预期的命令行参数。查看一下Eclipse中的执行配置,以便将强制参数传递给您编写的任何命令行程序。

我肯定会传递一些参数给它。您可以通过eclipse运行配置来实现这一点。查看运行配置下的运行菜单。切换到Arguments选项卡,并在再次运行之前提供一些程序参数

编辑:
顺便说一下,当您要求eclipse运行您的程序而不提供任何进一步的详细信息时,它会为该程序创建一个默认的运行配置,然后该配置会出现在运行配置列表中。我会考虑发布Run命令并期望输出中的一些错误作为一个常见的使用Eclipse的使用模式——只需简单地获得这样创建的运行配置,然后去编辑它,让它有它所需要的任何快乐,只要程序参数、环境变量等等。

< P>我一定会传递它的一些参数。您可以通过eclipse运行配置来实现这一点。查看运行配置下的运行菜单。切换到Arguments选项卡,并在再次运行之前提供一些程序参数

编辑:
顺便说一下,当您要求eclipse运行您的程序而不提供任何进一步的详细信息时,它会为该程序创建一个默认的运行配置,然后该配置会出现在运行配置列表中。我会考虑发布Run命令并期望输出中的一些错误,这是一个常见的使用Eclipse的使用模式——只需简单地获得这样创建的运行配置,然后去编辑它,使它有任何它需要的快乐,只要程序参数,环境变量,等等。

Eclipse不像命令行那样传递参数


您需要转到运行配置(右键单击项目->运行方式->运行配置并选择您的应用程序)。您可以单击“参数”并在“程序参数”字段中键入参数,然后单击“运行”。

Eclipse不像命令行那样传递参数


您需要转到运行配置(右键单击项目->运行方式->运行配置并选择您的应用程序)。您可以单击“参数”并在“程序参数”字段中键入参数,然后单击“运行”。

这是因为您没有提供任何方法参数。 当您从控制台运行程序时,必须输入firstname和lastname,这在eclipse中是缺失的,因此IndexOutOfBoundsException

要解决此问题,请执行以下操作: 右键单击您的项目。 选择RunAs。 转到运行配置。
在arguments选项卡中输入名字和姓氏作为程序参数。

这是因为您没有提供任何方法参数。
public class PersonalGreeting {

 public static void main(String[] args) {
  String first_name = "";
  String last_name = "";
  if (args.length > 0){
       first_name = args[0];
       if (args.length > 1) last_name = args[1];
  }else{
       first_name = "parameters";
       last_name = "are missing";
  }
  System.out.println("Hello " + first_name + " " + last_name);
 }
}
当您从控制台运行程序时,必须输入firstname和lastname,这在eclipse中是缺失的,因此IndexOutOfBoundsException

要解决此问题,请执行以下操作: 右键单击您的项目。 选择RunAs。 转到运行配置。 在arguments选项卡中输入名字和姓氏作为程序参数

public class PersonalGreeting {

 public static void main(String[] args) {
  String first_name = "";
  String last_name = "";
  if (args.length > 0){
       first_name = args[0];
       if (args.length > 1) last_name = args[1];
  }else{
       first_name = "parameters";
       last_name = "are missing";
  }
  System.out.println("Hello " + first_name + " " + last_name);
 }
}
试图捕捉错误


尝试捕捉错误

您是否通过Eclipse运行配置传递任何参数?希望这能教会您以这样一种方式编写程序,即它们永远不会因为缺少或无效的命令行参数而死亡。具体来说,访问未知大小的数组只会带来麻烦。您是否通过Eclipse运行配置传递任何参数?希望这能教会您以这样一种方式编写程序:它们永远不会因为缺少或无效的命令行参数而死亡。具体来说,访问未知大小的数组只会带来麻烦。这就是我要寻找的!我必须承认,这是相当令人沮丧的,虽然。。。我已经习惯了在编写命令行时在命令行中键入各种不同的输入,以查看它是否有效以及需要更改的内容。这似乎是一个相当累人的过程!这就是我要找的!我必须承认,这是相当令人沮丧的,虽然。。。我已经习惯了在编写命令行时在命令行中键入各种不同的输入,以查看它是否有效以及需要更改的内容。这似乎是一个相当累人的过程!