帮忙看一下,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);
}
} 展开
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);
}
} 展开
1个回答
展开全部
=========
我调试下, 在本机上
好了,完成了
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};
我调试下, 在本机上
好了,完成了
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};
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询