可恶的Java数组下标越界检查

刚刚学习Java不到一个星期,本来是搞C++的,没事学习Java,将来可以更好的想Android方向发展一下。

现在正处于磨基础的阶段,对与每一个新手来书,最痛苦的莫过于此了。

写了一个冒泡排序,用C++的思想写,没有任何错误,但是改成Java就出现如下错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
    at Range.paixu(c6_8.java:11)
    at c6_8.main(c6_8.java:29)

貌似自己没有遇到过,数组越界,C++都没有问题,怎么这里就有问题了。把自己的代码也贴出来吧。代码写的比较粗糙,没任何注释。

class Range
{
    void paixu(int arr[])
    {
        for (int i = 0; i <= arr.length - 1; i++)
        {
            int temp;
           
            for (int j = 0; j <= arr.length - i; j++)
            {
                if (arr[j] > arr[j + 1])
                {
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
    }
}

public class c6_8
{
    public static void main(String []args)
    {
        int arr[] = {2, 5, 1, 32, 21, 3, 8};
        Range r = new Range();
       
        r.paixu(arr);
       
        for (int j = 0; j < arr.length; j++)
        {
            System.out.print("  " + arr[j]);
        }
    }
}

 

对于一个新手来说,改这个有点难度。最后还是想到了,Java的下标越界检查啊。我的天啊。

检查了半天。不容易,该死的Java,可恨又可爱啊!

转载于:https://www.cnblogs.com/JPAORM/archive/2010/10/15/2509920.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值