求大整数和时,为啥会报数组越界异常?

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啊。