【问题标题】:While Running Java program getting error java.lang.ArrayIndexOutOfBoundsException [duplicate]运行 Java 程序时出现错误 java.lang.ArrayIndexOutOfBoundsException [重复]
【发布时间】:2021-06-20 20:11:36
【问题描述】:

我对数组有点困惑。

运行此程序时出现错误。

class Insurance {
public static void main(String args []) {
    int age;
    String gen;
    String status;
    age = Integer.parseInt(args[0]);
    gen = args[1];
    status = args[2];
    if(status.equalsIgnoreCase("Married"))
     System.out.println("Insurance Given!");
    else if(gen.equalsIgnoreCase("Male") && age>30)
     System.out.println("Insurance Given");
    else if(gen.equalsIgnoreCase("Female") && age>25)
     System.out.println("Insurance Given");
    else 
     System.out.println("Insurance Denied");
     
}

}

输出

线程“main”java.lang.ArrayIndexOutOfBoundsException 中的异常:Insurance.main(Insurance.java:9) 处索引 0 超出长度 0 的范围

【问题讨论】:

  • 您需要添加有关如何运行代码以及为什么期望 args 数组中包含任何数据的详细信息,正如您在代码中编写的那样

标签: java arrays exception


【解决方案1】:

你必须将参数传递给 main()

compile by > javac Insurance.java  
run by > java Insurance 50 Male Married

以上情况:

args[0] = 50
args[1] = Male
args[2] = Married

如果缺少任何参数,它将抛出java.lang.ArrayIndexOutOfBoundsException。您可以像这样检查参数的数量:

if(args.length == 3) {     
    //the last argument is null
}

【讨论】:

    【解决方案2】:

    您可以使用命令行运行此代码。 转到文件位置。

    打开命令行并编译你的类

    javac Insurance.java

    然后运行你的类并像这个例子一样使用这个命令。

    java Insurance.java 12 男已婚

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多