java - 错误 : Exception in thread "main" java. lang.ArrayIndexOutOfBoundsException: 0

标签 java error-handling

class Option{
  public static void main ( String[] args ){
    if ( args[0].equals( "-en" )){
     System.out.println( "English Option" ) ;
    } else if ( args[0].equals( "-es" )){
        System.out.println( "Spanish Option") ;     
     }
     else System.out.println( "Unrecognized option" ) ;
  }
}

尝试运行此程序时出现此错误

线程“main”中出现异常 java.lang.ArrayIndexOutOfBoundsException: 0 在 Option.main(Option.java:5)

我是编码新手,抱歉,如果这很简单,但我卡住了

提前致谢

最佳答案

发生的情况是,当您启动程序时,您没有传递任何命令参数,因此 args 的长度为 0。因此,您无法访问其第一个元素:

args[0]

您可以传递command-line argument喜欢

java Option argument_here

就您而言,可能是:

java Option -en
java Option -es

但是您也可以处理当您不传递任何参数时检查args的长度是否为0的情况:

if (args.length == 0)
    System.out.println("No arguments passed.");
else {
    // ...
}

关于java - 错误 : Exception in thread "main" java. lang.ArrayIndexOutOfBoundsException: 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23416355/

相关文章:

java - WatchService 和 FileObserver 有什么区别

android - 从 Web 服务获取数据时强制关闭/崩溃

java - Gradle Plugin 与 android 发布插件

PHP Postgres 约束违规 - 我可以以某种方式获取约束名称吗?

error-handling - SML 将字符串转换为带有错误捕获的 int

c - 通过指针访问结构的成员,导致错误

java - Apache Tomcat 中的异常 - 错误页面

Java 8 HashMap

java - 使用回文算法的现实生活情况

java - 如何在 Web 应用程序中的所有其他 bean 被销毁之前关闭 Spring 任务执行器/调度器池?