日期:2014-05-20  浏览次数:20755 次

java 大虾请进
//java   数组实现排序
import   java.io.*;
class   Fi     //输入整数并存入数组,最后排序
{  
public   static   void   main(String[]   b)
  throws   java.io.IOException
        {
          int   i,j,k,t,m,n;
int   a[]=new   int[10];
for(i=0;i <10;i++)
  {
                            System.out.print( "enter   please:   ");
                            BufferedReader   re=new   BufferedReader
                            (new   InputStreamReader(System.in));
                            a[i]=   Integer.parseInt(re.readLine());
          System.out.println();
  }  

for(m=0;m <10;m++)   //排序前输出
  System.out.print(a[m]+ "   ");
System.out.println();
                for(k=1;k <10;k++)   //冒泡法进行排序
{
  for(j=9;j> =i;j--)
  {
                      if(a[j-1]> a[j])
                          {
                t=a[j-1];
                a[j-1]=a[j];
                a[j]=t;
                                          }      
                }
}
              for(n=1;n <=10;n++)   //排序后输出
                System.out.print(a[n]+ "   ");
          }
}

///////////////////////////////////////////////
问题:为什么排序后结果输不出来,显示的错误是“Exception   in   thread   “main”java.lang.ArrayIndexoutofBoundsException:   10”,初学java,看不明白,50分请教诸位大虾说一下原因,小弟感激不尽!

------解决方案--------------------
我说的是你代码中的最后一个循环语句,也就是打印输出结果的那个循环,参见你的代码倒数第四行。