java中使用命令行参数获得数据,按照题目要求,当运行时,不加参数时,应该是输出提示信息“erro 20

java中使用命令行参数获得数据,按照题目要求,当运行时,不加参数时,应该是输出提示信息“error”,但是我这么运行,却显示异常,哪里出了问题。应该怎么改?... java中使用命令行参数获得数据,按照题目要求,当运行时,不加参数时,应该是输出提示信息“error”,但是我这么运行,却显示异常,哪里出了问题。应该怎么改? 展开
 我来答
第一碗羊杂割
2015-06-15 · TA获得超过6145个赞
知道大有可为答主
回答量:1107
采纳率:80%
帮助的人:560万
展开全部

因为你没有在命令中传入参数,所以现在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.");
    }
    }
}
绿野寻逸
2015-06-15
知道答主
回答量:30
采纳率:0%
帮助的人:9.4万
展开全部
public class E13q3 {

public static void main(String[] args) {
if(args==null){//数组下标越界了
System.out.println("error");
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Tinx_Lee
2015-06-15 · 超过13用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:30.9万
展开全部
代码呢,没代码不知道为什么
追问

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式