java中使用命令行参数获得数据,按照题目要求,当运行时,不加参数时,应该是输出提示信息“erro 20
java中使用命令行参数获得数据,按照题目要求,当运行时,不加参数时,应该是输出提示信息“error”,但是我这么运行,却显示异常,哪里出了问题。应该怎么改?...
java中使用命令行参数获得数据,按照题目要求,当运行时,不加参数时,应该是输出提示信息“error”,但是我这么运行,却显示异常,哪里出了问题。应该怎么改?
展开
3个回答
展开全部
因为你没有在命令中传入参数,所以现在args这个数组是空的。但是当你用
if (args[0] == null)
比较时,你试图访问args数组中的第一项args[0],而现在数组还是空的,并没有args[0](不是null而是根本不存在),这样就会产生ArrayIndexOutOfBoundsException。你可以把if语句修改成如下以解决该问题:
if (args.length == 0) // 数组长度为零就意味着这个数组是空的,也就是没有参数
System.out.println("Error.");
或者一定要用args[0]也可以使用try catch语句:
public class E13q3 {
public static void main(String[] args) {
try {
if (args[0] == null)
System.out.println("Error.");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Error.");
}
}
}
展开全部
public class E13q3 {
public static void main(String[] args) {
if(args==null){//数组下标越界了
System.out.println("error");
}
}
}
public static void main(String[] args) {
if(args==null){//数组下标越界了
System.out.println("error");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |