-3

嗨,我是一名 java 学习者,正在尝试制作这个程序来添加两个数字。运行此程序时,我收到此错误消息。

线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 0 at addnumber.main(addnumber.java:16) Java 结果:1

public class addnumber{
   public static void main(String[] args) {
        String x,y;
        int a,b,c;
        x=args[0];
        y=args[1];
        a=Integer.parseInt(x);
        b=Integer.parseInt(y);
        c=a+b;
        System.out.println(c);
   }
}

我知道我可以使用 Scanner 类或字符串生成器类,但是这段代码有什么问题?

4

3 回答 3

1

如果您使用 args-array,您必须从外部为程序提供一些参数,例如从控制台。

所以打开控制台并转到 .java 文件所在的目录并手动编译它

javac Addnumber.java

现在您应该在那里看到一个 .class 文件。

比这样写一个电话:

java Addnumber 5 9 

你的论点是 5 和 9。

还要用大写字母写类名

于 2013-09-25T14:11:56.580 回答
0

如果您使用 eclipse 或任何其他工作工具运行。那么你必须设置运行配置参数。

假设您在命令行中运行此代码,那么您必须使用以下命令运行此代码

java addnumber 2 4
于 2013-09-25T14:18:48.507 回答
0

Good Quastion,问题出在String[] args,这个问题导致找出这个参数作为字符串的初始值是多少?或者换句话说,IDE 是如何调用 main 方法的?如果您在 Netbeans 或 Eclipse 中运行此代码,默认情况下将打印此错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:

因为默认情况下IDE调用方法的字符串数组长度为0:

TheNameOfClass.main(new String[0]) // if you run it in some IDEs
>java Addnumber  // cmd with no args?

在您的情况下,异常将在线发生,x=args[0];因为您调用并且您希望使用数组中的某些项目超出范围或大于数组的长度。

现在您可以在 Eclipse 中将其配置为示例,以根据需要传递一些字符串值,或者您需要在“命令提示符”中编译和运行 java 类手册并传递一些字符串值:

>javac Addnumber.java // compile it 
>java Addnumber 1 77  // run it and passs some values to array in main method
于 2013-09-25T14:48:09.400 回答