我为简单的计算器编写了这段代码,我收到了这个错误!有人帮帮我!
public class Calculator {
public static void main (String[] args) {
int num1 = Integer.parseInt(args[0]);
int num2 = Integer.parseInt(args[1]);
int sum = num1 + num2;
int sub = num1 - num2;
int prod = num1 * num2;
int quot = num1 / num2;
int rem = num1 % num2;
// print the other variables, sub, prod, quot, rem;
System.out.println(num1 + " + " + num2 + " = " + sum);
System.out.println(num1 + " - " + num2 + " = " + sub);
System.out.println(num1 + " * " + num2 + " = " + prod);
System.out.println(num1 + " / " + num2 + " = " + quot);
System.out.println(num1 + " % " + num2 + " = " + rem);
}
}
答案 0 :(得分:1)
您需要确保在启动应用程序时,会传递两个可以解析为数字的字符串,因为您的代码假定arguments
在位置0
和{{{{}}处有一个元素1}}。如果您没有传递两个参数,那么您将收到错误。
例如,如果在程序中调用1
:
main
或者,如果从命令行调用Calculator.main(new String[] {"10","20"});
:
Calculator.class
答案 1 :(得分:0)
如异常所示,当程序尝试访问索引为0的数组时,程序遇到了一个数组超出范围的异常。代码中唯一一个位于索引为0的Array中的位置是以下一行
int num1 = Integer.parseInt(args[0]);
换句话说,你的程序找不到args数组的第0个索引,这意味着你没有将任何参数传递给你的程序。事实上看起来你的程序有两个参数。如果使用命令行
,请按以下方式运行程序 java Calculator 100 200