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

大家帮帮忙。看下这个题。为什么会有数组越界的异常。
/*设线性表以单向链表作为存储结构。试写出一个线性表就地逆置的算法,
即在原表的存储空间内将线性表(a1,a2,...,an)逆置为(an,an-1,...,a1)。*/



public class test{
public static void main(String args[]) throws Exception{
char[] date=new char[100];
for(int j=1;j<=3;j++){
int t=(int)Math.pow(2,j);//定义常量t为2的j幂次
for(int i=1;i<=100;i++){
if(i%t!=0&&date[i]!=1){//100个数中除以t为0的肯定报数为2,值不为1的为报2;
System.out.println(i);
date[i]=1;//报1的数组的值设为1.下次循环不会在出现
}
}
}
}
}


------解决方案--------------------
char[] date=new char[100];
for(int i=1;i<=100;i++)
date[0]----date[99]
------解决方案--------------------
Java code
for(int i=0;i<100;i++){
if(i%t!=0&&date[i]!=1){//100个数中除以t为0的肯定报数为2,值不为1的为报2;

------解决方案--------------------
for (int i = 1; i <= 100; i++) {去掉=号就可以了