黑马程序员技术交流社区

标题: 看下 编译无错误 运行不出来 出现的提示看不懂 [打印本页]

作者: 18643448863    时间: 2014-9-20 15:56
标题: 看下 编译无错误 运行不出来 出现的提示看不懂
本帖最后由 18643448863 于 2014-10-9 07:40 编辑
  1. class maoPao
  2. {
  3.         public static void maopao(int[] arr)
  4.                 {for(int x=0;x<arr.length;x++)
  5.                         {
  6.                         for(int y=0;y<arr.length-x;y++)
  7.                                 {
  8.                                         if(arr[y]>arr[y+1])
  9.                                         {int z= arr[y];
  10.                                         arr[y]=arr[y+1];
  11.                                         arr[y+1]=z;}
  12.                                 }
  13.                         }
  14.                 }
  15.                 public static void main(String[] args)

  16.                 {int [] arr={7,1,6,4,2,8,3};
  17.                 maopao(arr);
  18.                 paixudayin(arr);}


  19.                 public static void paixudayin(int[] arr)
  20.                 {
  21.                 System.out.print("[");
  22.                         for(int x=0;x<arr.length;x++)
  23.                         {        if(x!=arr.length-1)
  24.                                 System.out.print(arr[x]+",");
  25.                                         else
  26.                                         System.out.print(arr[x]+"]");}
  27.                         }                                
  28. }
复制代码


F:\java练习代码\day02>java maoPao
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
        at maoPao.maopao(maopao.java:14)
        at maoPao.main(maopao.java:24)
怎么个情况
作者: 犹豫铅笔    时间: 2014-9-20 16:19
提示是数组越界,当x=0时,y=arr.length-x-1时,arr[y+1] = arr[arr.length-x]=arr[arr.length](越界)
作者: 犹豫铅笔    时间: 2014-9-20 16:26
本帖最后由 犹豫铅笔 于 2014-9-20 17:11 编辑

提示是数组越界,当x=0时,y=arr.length-x-1时,arr[y+1] = arr[arr.length-x]=arr[arr.length](越界),把里层的for循环的条件改成y<arr.length-x-1就ok了
作者: lipc    时间: 2014-9-20 16:34
数组越界。。。常见错误。。。
作者: 暴风    时间: 2014-9-20 16:55
比老师java基础视频 数组那一段讲的很清楚,再仔细学习一下吧
作者: 范鹏霄    时间: 2014-9-20 17:02
java.lang.ArrayIndexOutOfBoundsException:
数组溢出
作者: 笑脸迷人    时间: 2014-9-20 20:06
:'(角标越界,还是比较容易调试出来的~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2