A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张学东 中级黑马   /  2012-10-20 12:35  /  1000 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

运行下面一段程序:
  1. public class AssertionExample {
  2. public static void main(String[] args) {
  3.   int age=Integer.parseInt(args[0]);
  4.   System.out.println("您输入的数字:"+age);
  5.   
  6.   assert age>0: "输入年龄有误!";
  7.   
  8.   System.out.println("您的实际年龄是:"+age+"岁——祝您健康长寿!");
  9. }
  10. }
复制代码
后出现
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at AssertionExample.main(AssertionExample.java:4)
哪位朋友指点一下到底是哪里出问题了啊?  速度啊!!!!

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
主函数参数是字符串数组,默认长度是0,你传入了一个字符串才有ags[0]  ,根据所报异常,数组角标越界,显然没有传入字符串。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
程序没错,你忘记传参数了。如果是用命令行,你应该用 java AssertionExample 15
15表示你要输入的年龄
如果你用eclipse。右键,run as--run configuation--arguments-program arguments:输入你要输入的年龄--run

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
lhkqlt 发表于 2012-10-20 12:42
主函数参数是字符串数组,默认长度是0,你传入了一个字符串才有ags[0]  ,根据所报异常,数组角标越界,显然 ...

谢谢提醒  thank you 了  呵呵
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马