【发布时间】:2013-06-06 13:20:53
【问题描述】:
我使用 Java 实现了这段代码。它给了我一个错误,说“java.lang.ArrayIndexOutOfBoundsException”
我不确定为什么?此外,我将我声明的整数 (int op=0;) 更改为加倍,没有任何变化。该程序适用于 +、/ 和 -。但不适用于 *.为什么呢?
代码如下:
class test {
public static void main(String [] mySpace) {
double op=0;
if (mySpace[0].equals("*")) {
op=Integer.parseInt(mySpace[1])*Integer.parseInt(mySpace[2]);
}
System.out.println("Heya! "+ op);
}
}
编辑:我在命令提示符中使用了这些命令:
javac test.java // 用于编译我的名为 test.java 的源文件
java test * 10 20 //用于执行
【问题讨论】:
-
好吧,“mySpace”字符串数组应该是您在运行应用程序时提供的参数列表。可能根本没有参数调用程序。您应该检查参数“mySpace”是否包含任何值。
-
不要从IDE执行,通过:>> java className参数执行manuallu
-
@Ozil 现在检查我的答案
标签: java jakarta-ee