public class Adder
{
public static void main(String args[])
{
int a=Integer.parseInt(args[0]);
int b=Integer.parseInt(args[1]);
double c=Double.parseDouble(args[2]);
double s=a+b+c;
System.out.println("s="+s);
}
}结:Exception in thread "main" java.lang.ArrayIndexOutOfBounds
Exvception:0 at Asser.main(Adder.java:5)
为什么会出错呢??????请各位大侠指点指点!!!!!!
11 个解决方案
#1
ArrayIndexOutOfBounds 数组越界啊
你传进去的参数是几个
不妨打印一下 args.length看看
而且第一个参数 args[0]好像是程序名吧
你传进去的参数是几个
不妨打印一下 args.length看看
而且第一个参数 args[0]好像是程序名吧
#2
java -classpath ./ Adder 1 2 3
在Eclipse里面调试时记得在“Run"栏里加参数
在Eclipse里面调试时记得在“Run"栏里加参数
#3
传入参数有问题
#4
你从命令行传进去的参数不是3个,
改成3参数个就行了
每个参数之间用空格隔开
改成3参数个就行了
每个参数之间用空格隔开
#5
这种情况是因为执行时你没有传入任何参数,所以在第5行args[0]处就报错了。
执行时候可以用java Adder 1 2 3
为了增加程序健壮性,也可以用一个if判断一下。
public class Adder
{
public static void main(String args[])
{
if (args.length < 3)
return;
int a=Integer.parseInt(args[0]);
int b=Integer.parseInt(args[1]);
double c=Double.parseDouble(args[2]);
double s=a+b+c;
System.out.println("s="+s);
}
}
执行时候可以用java Adder 1 2 3
为了增加程序健壮性,也可以用一个if判断一下。
public class Adder
{
public static void main(String args[])
{
if (args.length < 3)
return;
int a=Integer.parseInt(args[0]);
int b=Integer.parseInt(args[1]);
double c=Double.parseDouble(args[2]);
double s=a+b+c;
System.out.println("s="+s);
}
}
#6
我也是刚学 java的 但是对于数组越界的问题已经遇到很多次了 来学习学习。
#7
例如这样:
D:\>javac Adder.java
D:\>java Adder 12 13 21.9
s=46.9
#8
参数个数有问题~~~
#9
呜呜!!!!!!!太感谢各位了!!!!!!!
#10
就是这样的,运行时不传入参数,args[]数组的长度为0,,肯定会出现数组下标越界。
#11
b不好意思啊!我想给分给你的但是我给错了!!!!!!!太对不住你了!!!!!!以后还有机会的!!!!
#1
ArrayIndexOutOfBounds 数组越界啊
你传进去的参数是几个
不妨打印一下 args.length看看
而且第一个参数 args[0]好像是程序名吧
你传进去的参数是几个
不妨打印一下 args.length看看
而且第一个参数 args[0]好像是程序名吧
#2
java -classpath ./ Adder 1 2 3
在Eclipse里面调试时记得在“Run"栏里加参数
在Eclipse里面调试时记得在“Run"栏里加参数
#3
传入参数有问题
#4
你从命令行传进去的参数不是3个,
改成3参数个就行了
每个参数之间用空格隔开
改成3参数个就行了
每个参数之间用空格隔开
#5
这种情况是因为执行时你没有传入任何参数,所以在第5行args[0]处就报错了。
执行时候可以用java Adder 1 2 3
为了增加程序健壮性,也可以用一个if判断一下。
public class Adder
{
public static void main(String args[])
{
if (args.length < 3)
return;
int a=Integer.parseInt(args[0]);
int b=Integer.parseInt(args[1]);
double c=Double.parseDouble(args[2]);
double s=a+b+c;
System.out.println("s="+s);
}
}
执行时候可以用java Adder 1 2 3
为了增加程序健壮性,也可以用一个if判断一下。
public class Adder
{
public static void main(String args[])
{
if (args.length < 3)
return;
int a=Integer.parseInt(args[0]);
int b=Integer.parseInt(args[1]);
double c=Double.parseDouble(args[2]);
double s=a+b+c;
System.out.println("s="+s);
}
}
#6
我也是刚学 java的 但是对于数组越界的问题已经遇到很多次了 来学习学习。
#7
例如这样:
D:\>javac Adder.java
D:\>java Adder 12 13 21.9
s=46.9
#8
参数个数有问题~~~
#9
呜呜!!!!!!!太感谢各位了!!!!!!!
#10
就是这样的,运行时不传入参数,args[]数组的长度为0,,肯定会出现数组下标越界。
#11
b不好意思啊!我想给分给你的但是我给错了!!!!!!!太对不住你了!!!!!!以后还有机会的!!!!