gpt4 book ai didi

java - 线程中的异常 "main"java.lang.ArrayIndexOutOfBoundsException : 80

转载 作者:行者123 更新时间:2023-12-01 22:03:40 24 4
gpt4 key购买 nike

我在线程“main”中收到错误异常

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;
}
}

最佳答案

这里会发生什么:

 for(int d=0;d<product.length;d++)
{
product[d+1]=product[d+1]+(product[d]/10);
product[d]=product[d]%10;
}

d == Product.length - 1时?特别是这里product[d+1]

索引越界错误,因为此处 d + 1 超出了产品数组允许的索引。

关于java - 线程中的异常 "main"java.lang.ArrayIndexOutOfBoundsException : 80,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33214249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com