刚刚学习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,可恨又可爱啊!