求指教scjp练习

哈皮1991 2014-03-29 09:16:53
public class E07_ShowArgs {
public static void main(String[] args) {
System.out.println(args[0]);
System.out.println(args[1]);
System.out.println(args[2]);
}
}
和public class E07_ShowArgs2 {
public static void main(String[] args) {
if(args.length < 3) {
System.out.println("Need 3 arguments");
System.exit(1);
}
System.out.println(args[0]);
System.out.println(args[1]);
System.out.println(args[2]);
}
}这两个的区别是什么,都能编译成功,第一个运行显示“Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0”,第二个运行显示Need 3arguments求大神指教。谢了
...全文
56 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
哈皮1991 2014-03-30
  • 打赏
  • 举报
回复
[quote=引用 3 楼 Android_iPhone 的回复:] 参数String[] args可以理解为一个字符串数组 数组下标0代表第一个参数 数组下标1代表第二个参数 以此类推 前面的写法,没有考虑运行时刻没有参数的情况 也就是说: java E07_ShowArgs arg1 arg2 arg3这么执行应该能正常打印出参数来 java E07_ShowArgs这么执行,由于参数是空的,所以会抛出异常 后面的写法,先判断了数组里面存放数据的个数 当然相对就安全一些了[/quote 懂了,谢谢
日知己所无 2014-03-29
  • 打赏
  • 举报
回复
参数String[] args可以理解为一个字符串数组 数组下标0代表第一个参数 数组下标1代表第二个参数 以此类推 前面的写法,没有考虑运行时刻没有参数的情况 也就是说: java E07_ShowArgs arg1 arg2 arg3这么执行应该能正常打印出参数来 java E07_ShowArgs这么执行,由于参数是空的,所以会抛出异常 后面的写法,先判断了数组里面存放数据的个数 当然相对就安全一些了
anshiny 2014-03-29
  • 打赏
  • 举报
回复
那是因为你在运行时提供的参数少了.

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧