10

您可能从问题本身可以理解,我是 Java 新手。我得到了一个练习来编写一个 Java 程序,该程序接收一个字符,打印它以及 Unicode 表中的下一个字符。

现在,我有了这个练习的解决方案:

public static void main(String[] args){
    char c = args[0].charAt(0);
    char c1 = (char)(c + 1);
    System.out.println(c + "\t" + c1);
}

我了解这段代码的基本概念,但我试图在 Eclipse 中运行这段代码,但出现了一个恼人的错误:

线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: MainClass.main 中的 0(MainClass.java:9)

注意:我还没有运行一个实际接收一些东西作为参数的 Java 程序,所以我猜这是初学者的愚蠢错误......这是我尝试在 Eclipse 中编译的完整代码:

public class MainClass {

    /**
     * @param args
     */

    public static void main(String[] args){
        char c = args[0].charAt(0);
        char c1 = (char)(c + 1);
        System.out.println(c + "\t" + c1);
    }
}

提前致谢

4

5 回答 5

10
  • 从菜单中选择“运行 -> 运行配置”。
  • 在左侧列表中搜索您的项目并选择它。
  • 选择右侧的“参数”选项卡。
  • 在“程序参数”中写入您要传递给程序的参数。
  • 点击“运行”
于 2012-09-22T18:44:36.440 回答
6

在 Eclipse 的项目资源管理器中右键单击您的 java 文件。然后运行方式>运行配置

在此处输入图像描述 然后你会得到一个窗口。像-

在此处输入图像描述

单击 Arguments Tabs,然后在其中写一些文本,可能是一个字符。

然后单击应用按钮和运行按钮。

于 2012-09-22T18:51:44.470 回答
3

Eclipse 中的默认运行配置运行没有任何参数的 Java 程序,因此ArrayIndexOutOfBoundsException. args当没有任何元素时,您的代码正在尝试获取数组的第一个元素!

您可以编辑运行配置以提供用于运行程序的参数。那么它不应该抛出这个异常。

但是,一个好的做法是在访问数组元素之前检查数组的大小,当数组作为来自代码外部的参数时更是如此。

于 2012-09-22T18:43:41.557 回答
0

这是一个很好的问题,有一些很好的答案。我想添加一些关于如何调试您自己的程序的指示。调试与编写代码一样重要(如果不是更重要的话)。

一方面,Eclipse 有一些很棒的调试特性。您可以使用此调试器来查找代码中的问题。我建议你学习如何使用它。特别是,您可以为变量设置监视,以在您逐步执行代码时查看它们的值。

或者,您可以添加调用以System.out.println()打印出任何变量的值。例如,在代码开头添加以下行可能会帮助您缩小问题范围:

System.out.println(args[0]);

ArrayIndexOutOfBoundsException如果没有给出命令行参数,这也会给出。然后你可以做类似的事情

System.out.println(args.length);

这将打印出来0。然后,这为您提供了问题所在的线索。

当然,即使到了这一步,你可能仍然不知道如何解决问题。这就是像 StackOverflow 这样的网站派上用场的地方。

祝您的 Java 体验好运。当您需要更多帮助时,请回来。

于 2012-09-22T21:31:24.820 回答
0

如果您的运行配置已到位(如上面的答案所示):

运行类的快捷方式是:

Ctrl + F11

于 2017-02-19T05:25:04.937 回答