0
我在線程得到一個錯誤異常「主」異常線程「main」 java.lang.ArrayIndexOutOfBoundsException:80
java.lang.ArrayIndexOutOfBoundsException: 80 at Factorial.fact<Factorial.java:32> and at <Factorial.main.java:5>
我不知道如何解決這個節目?
class Factorial
{
public static void main(String[] args)
{
int[] a=fact(0);
int[] b=fact(1);
int[] c=fact(5);
int[] d=fact(50);
System.out.println("zero factorial = ");
for(int i=0;i<a.length;i++)
System.out.println(fact(i));
System.out.println("one factorial = ");
for(int j=0;j<b.length;j++)
System.out.println(fact(j));
System.out.println("five factorial = ");
for(int k=0;k<c.length;k++)
System.out.println(fact(k));
System.out.println("fifty factorial = ");
for(int l=0;l<d.length;l++)
System.out.println(fact(l));
}
public static int[] fact(int n)
{
int[] product=new int[80];
for(int a=1; a<product.length;a++)
product[a]=0;
product[0]=1;
for(int b=2,c=0; b<=n;b++,c++)
product[c]=product[c]*b;
for(int d=0;d<product.length;d++)
{
product[d+1]=product[d+1]+(product[d]/10);
product[d]=product[d]%10;
}
return product;
}
}
'產物[d + 1]'看起來像的罪魁禍首。 – sam
作爲一個開始格式化會有所幫助。除此之外,它可能是這個'產品[d + 1]'。循環被定義爲用於'(INT d = 0; d
Thomas
感謝您的幫助。你會如何解決這個問題? –