public class Sum {
public static void main(String args[])
{
int x,y,s;
x=Integer.parseInt(args[0]);
y=Integer.parseInt(args[1]);
s=x+y;
System.out.println("sum " +s);
}
}
我想使用命令行agument打印两个数字的总和..但是它显示了一些错误:-exception in thread" main" java.lang.ArrayIndexOutOfBoundsException:0 ....
答案 0 :(得分:1)
您需要传递命令行参数:
java Sum 0 1
在这种情况下,还建议检查长度:
int x,y,s;
if(args.length>=2){
x=Integer.parseInt(args[0]);
y=Integer.parseInt(args[1]);
s=x+y;
System.out.println("sum " +s);
}
考虑到程序的意图,您可能希望直接循环args[]
数组,并将 所有 数字加起来而不仅仅是前两个数字:
int total = 0;
for (int i = 0; i < args.length; i++) {
total = total + Integer.parseInt(args[i]);
}
System.out.println("Total: " + total);
命令行:java Sum 1 2 3 4 5
会产生Total: 15
答案 1 :(得分:0)
从命令行运行此命令时,需要传入x和y的值:
java Sum 4 5
如果你是从eclipse运行它,你需要将它设置为在每次点击绿色“运行”按钮时传递这些参数。
Eclipse command line arguments
如果你没有传入任何内容,则数组“args”将为空。然后尝试访问数组中的第一个元素,但由于它是空的,因此会抛出一个ArrayIndexOutOfBoundsException。