[root@gdc1000 java]# cat Factorial.java
public class Factorial {
public static void main(String[] args) {
int input = Integer.parseInt(args[0]);
double result = factorial(input);
System.out.println(result);
}
public static double factorial(int x) {
if(x < 0)
return 0;
double fact = 1.0;
while ( x > 1) {
fact = fact * x;
x = x - 1;
}
return fact;
}
}
[root@gdc1000 java]#
计算结果很有意思,当输入170时有结果,超过170显示为无穷大。
函数使用了static factorial,因为他必须是实例化后的,才能被也是实例化后的main所引用。不能飘着。