即时通讯试图制作一个程序,计算阶乘为1到5,并将这些值存储在数组大小为5中
import java.util.*;
public class factorialArray
{
public static void main(String [] args)
{
int factorialA[] = new int[5];
for (int i=1; i<6; i++)
{
int factorial = 1;
for(int j=1; j<=i; j++)
{
factorial = factorial *j;
}
factorial = factorialA[i];
}
System.out.println(factorialA[3]);
}
}
如果我正确理解数组,我想打印出第三个第四个索引,它是factorialA [3]。但是我得到0。而且如果我有int factorialA [] = new int [5]我得到数组索引超出范围,请问能帮我些忙吗?
最佳答案
首先,将循环条件从
for (int i=1; i<6; i++)
至
for (int i=1; i<5; i++) // you could also do i=0
然后,这条线
factorial = factorialA[i];
这不会对您的数组进行任何更改。我想你打算做
factorialA[i] = factorial;