帮忙看一下,java高手请进java.lang.ArrayIndexOutOfBoundsException: 1

这是一个关于大数相乘的程序,结果出现了xceptioninthread"main"java.lang.ArrayIndexOutOfBoundsException:1at... 这是一个关于大数相乘的程序,结果出现了
xception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at dashu.cheng(dashu.java:20)
at dashu.main(dashu.java:45)

不知道为什么
希望指教

public class dashu
{
int[] c=new int[100];
dashu()
{
}
public void cheng(int a[],int b[],int n,int m)
{
int i,j;
for(i=0;i<100;i++)
{
c[i]=0;
}

for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
c[i+j]=c[i+j]+a[i]*b[j];
}
}

for(i=0;i<m+n-1;i++)
{
c[i]=c[i]%10;
c[i+1]=c[i+1]+c[i]/10;
}
if(c[m+n-2]/10!=0)
c[m+n-1]=c[m+n-2]/10;
for(i=0;i<100;i++)
{
System.out.print(a[i]+"\t");
}
System.out.println("\n");
}

public static void main (String[] args)
{
dashu da=new dashu();
int[] a={1234};
int[] b={5678};
int n=4;
int m=4;
da.cheng(a,b,n,m);
}
}
展开
 我来答
p317226938
2007-04-29 · TA获得超过379个赞
知道小有建树答主
回答量:249
采纳率:0%
帮助的人:159万
展开全部
=========
我调试下, 在本机上

好了,完成了

public class dashu
{
int[] c=new int[100];
dashu()
{
}
public void cheng(int a[],int b[],int n,int m)
{
int i,j;
for(i=0;i<100;i++)
{
c[i]=0;
}

for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
c[i+j]=c[i+j]+a[i]*b[j];
}
}

for(i=0;i<m+n-1;i++)
{
c[i]=c[i]%10;
c[i+1]=c[i+1]+c[i]/10;
}
if(c[m+n-2]/10!=0)
c[m+n-1]=c[m+n-2]/10;
for(i=0;i<a.length;i++)
{
System.out.print(a[i]+"\t");
}
System.out.println("\n");
}

public static void main (String[] args)
{
dashu da=new dashu();
int[] a={1,2,3,4};
int[] b={5,6,7,8};
int n=4;
int m=4;
da.cheng(a,b,n,m);
}
}

改动:
for(i=0;i<a.length;i++)
{
System.out.print(a[i]+"\t");
}

dashu da=new dashu();
int[] a={1,2,3,4};
int[] b={5,6,7,8};
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式