package com.seqlist;
public class SeqList {
/**
* @java.lang.ArrayIndexOutOfBoundsException
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] Adata={3,2,5,1,2,3,4,3};
int [] Bdata={6,4,3,2,4,5,6};
int flag=0;
int n=Adata.length;
int m=Bdata.length;
int [] Cdata={};
int i=0;
int x=Cdata.length;
while(i<n&&i<m){
//数组越界,为什么为什么为什么????
Cdata[i]=(Adata[i]+Bdata[i]+flag)%10;
flag=(Adata[i]+Bdata[i]+flag)/10;
i++;
}
for(;i<n;i++){
Cdata[i]=(Adata[i]+flag)%10;
flag=(Adata[i]+flag)/10;
}
for(;i<m;i++){
Cdata[i]=(Bdata[i]+flag)%10;
flag=(Bdata[i]+flag)/10;
}
x =Math.max(m,n)+flag;
if(flag==1)Cdata[x-1]=1;
for(int j=0;j<Cdata.length-1;j++) {
System.out.print(Cdata[j]);
}
}
}
int [] Cdata={};
int i=0;
int x=Cdata.length;
System.out.println(x);
输入结果为0,
说明数组Cdata长度为0啊
改成 int [] Cdata=new int[10];就可以了
什么语言?
有的语言Cdata
数组必须先初始化必须的长度,有的语言直接给Cdata[i]
赋值会自动扩大数组。
你估计是前者吧。
你初始化数组一下看看啊
java中的数组不会自动扩容的,用List可以。楼主搞错了。
int [] Cdata={}; 这种创建方式,数组的长度就是0啊。