java吧 关注:1,254,797贴子:12,743,037
  • 6回复贴,共1

初学JAVA 写了冒泡排序出现错误 附上代码 求指点!

只看楼主收藏回复

import java.util.Scanner;
public class MaoPao {
public static void main(String[] args) {
int i,j,temp;
int[] a;
a = new int[10];
Scanner input = new Scanner(System.in);
for(i=0;i<10;i++) {
System.out.print("请输入第" + (i+1) + "个数的值:");
a[i] = input.nextlnt();
System.out.println();
}
for(i=0;i<10;i++) {
for(j=0;j<10-i;j++) {
if(a[j] < a[j+1]) {
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
System.out.println();
for(i=0;i<10;i++) {
System.out.print(a[i] + " ");
}
System.out.println();
}
}


1楼2014-05-01 23:31回复



    2楼2014-05-01 23:33
    回复
      内循环有问题,j<a.length-i-1,现在应该是下标越界了


      IP属地:北京来自Android客户端3楼2014-05-02 04:19
      收起回复
        同是java初学者,我的博客http://www.wansir.com,希望多多交流,有什么疑问可以到博客留言,会第一时间回复。


        IP属地:湖北4楼2014-05-02 04:29
        回复
          的确是数组下标越界异常,试想如果i=0,则j=10,
          if语句里a[j 1]就是a[10],不就越界了吗?


          IP属地:陕西来自手机贴吧5楼2014-05-02 09:07
          收起回复