这学期 学校开了java选修课 不过一直都没怎么去上
主要是老师讲得实在太没激情了 与其听他讲 还不如自己看
其几天因为一些事情需要用到java 于是终于把 jdk 装了上去
写这篇文章的时候 其实已经不能算初试了
因为装上jdk那天 就按照惯例写了个HelloWorld
对于java有了一点点感觉
不过java编译器检查实在太过严格 让我倒是很不习惯
我也有种不详的预感--以后肯定会为调试java程序而苦恼
果不其然 没想到这样一天来得这么快
今天早上 还在上编码理论课的时候 女友发来短信 让我帮她用java写一个快速排序的程序
这倒是有点难倒我了 毕竟我用 java 也就一次 而且还只是写了个HelloWorld
基本上算是什么也部懂
不过既然是女友之请 再怎么也得试试
于是下了课 立刻回寝室干起来
程序写的到还顺利 一个冒泡法还是难不倒我的
不过更大的问题还在后面
我用 javac 编译 一起正常 可是用java执行的时候问题就来了 源程序如下:
public class Sort
{
public static void main (String args[])
{
int arr[] = {95,23,45,66,79,84,100,54,87,67,94,81,83,76,84,66,88,91,25,77,84,22,56,78,49,83,89,86,84,44};
for(int i=0;i<arr.length-1;i++)
{
for(int j=0;j<arr.length-i;j++)
{
if(arr[j]<arr[j+1])
{
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
for(int i=0;i<arr.length;i++)
{
System.out.print(" "+arr[i]);
}
}
}
执行 C:/>javac Sort.java 一切正常
然后再执行
C:/>java Sort
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 30
at Sort.main(Sort.java:11)
老是报错 我都要郁闷了
我对java还不是很熟 我为了图方便 把要实现的东西都放在 main()函数里面
不知道这里有没有问题 这个我倒是还没有检查过
其他的方法我都试过很多次了
如改变数组的定义:
int arr[]=new int [30];
arr[0]=45;arr[1] = ……
结果还是不行
在网上查了些资料 我和上面说的定义的方法一模一样 可是就是要出错 我头都大了
没想到第一次用java写个小程序就被整得这么郁闷
我苦啊