今天做Java资料书上一个实例,其中用到了int operand1=Integer.parseInt(args[0]);语句,但是执行时遇到了Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at SimpleCalculator.main(SimpleCalculator.java:7)的问题。
经查资料后得知这是因为命令行输入时没有参数,而int operand1=Integer.parseInt(args[0]);这句话使得public static void main(String[] args) 中的args[]被用到了,所以必须输入一个String类型数组。解决方法是对SimpleCalculator.java 依此进行右击>Run as>Run configurations,选择"Arguments"部分,输入一组参数,然后点击"Run"操作。
补充一下,这种情况下通过命令行得到的参数都是字符串类型的,要进行四则运算,必须先转换成数值类型。使用Integer类中的类方法parseInt,可以将字符串转化为int类型的数值。类似的也可以将字符串转化为double或是float类型,结构是Double.parseDouble(String str),Float.parseFloat(String str).
本文解析了Java程序中因未正确处理命令行参数导致的ArrayIndexOutOfBoundsException异常,并提供了具体的解决步骤。通过配置运行参数,确保程序能正确接收并转换为数值类型。
2988





