我正在尝试计算欧拉数。作为欧拉数e = 1 + (1/1!) + (1/2!) + (1/3!) + ..... = 2.718281828....
,其中 n! 等于 n 的阶乘。首先我写了一个类Factorial.class
来计算阶乘:
文件Factorial.java
public class Factorial
{
//Methods
//If statement to abolish negative integer parameter have to be filled
public static int factorial(int number)
{
if (number == 0 || number == 1)
{
return 1;
} else
{
int m = number;
for (int i = number - 1; i > 1; i--)
{
m = m * i;
}
return m;
}
}
}
这个类与测试类一起工作得很好FactorialTest.class
文件FactorialTest.java
public class FactorialTest
{
public static void main(String[] args)
{
System.out.println(Factorial.factorial(10));
}
}
这个类打印 3628800
后来我创建了一个EulersNumber.class
打印e的值:
文件EulersNumber.java
public class EulersNumber
{
public static void main(String[] args)
{
double e = 1;
for (int i = 1; i > 10000; i++)
{
double j = (double)(Factorial.factorial(i));
double k = 1 / j;
e = e + k;
}
System.out.println("e = " + e); //e = 1.0
}
}
e 的值应该是 2.718281828.... 但是这个类打印 e = 1.0
我在哪里做错了?