【发布时间】:2014-11-17 21:12:42
【问题描述】:
您好,我正在尝试通过命令行参数提供输入来获取二进制操作,我得到的异常为"Exception in thread "Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at assignment.CommandLineargs.main(CommandLineargs.java:7)"
这是我的代码:
import java.util.Arrays;
public class CommandLineargs {
public static void main(String[] args) {
int operand1 = Integer.parseInt(args[0]);
int operand2 = Integer.parseInt(args[1]);
char binary_operator = args[2].charAt(0);
System.out.print(args[0] + args[2] + args[1] + " = ");
switch(binary_operator) {
case ('+'):
System.out.println(operand1 + operand2); break;
case ('-'):
System.out.println(operand1 - operand2); break;
case ('*'):
System.out.println(operand1 * operand2); break;
case ('/'):
System.out.println(operand1 / operand2); break;
default:
System.out.println("Invalid Operator selected");
}
}
}
【问题讨论】:
-
您能否添加注释,指出您的问题所在的行号?
-
您能否给出整个堆栈跟踪以及您从提示发出执行的命令是什么...
-
为什么要将数组转换为字符串,然后再将其拆分为数组?另请注意,数组是基于 0 的。因此,如果您期望 3 个元素,则使用索引 0、1、2。
标签: java arrays command-line-arguments