即时通讯试图制作一个程序,计算阶乘为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;

10-07 19:27
查看更多