编写java程序求一个自然数的阶乘,要求该自然数可以由命令行参数输入。注意: 使用命令行输入参数时,用户可能没有给出参数,或给出非自然数的参数。另外,用户输 入的数值有可能为负数,或者存在其他异常。
时间: 2023-06-04 18:08:58 浏览: 82
java代码-解决求阶乘的问题java源代码
对于您的问题,我可以给出以下的java代码实现:
```java
public class Factorial {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("请您输入一个自然数");
return;
}
int num = 0;
try {
num = Integer.parseInt(args[0]);
} catch (NumberFormatException e) {
System.out.println("输入的参数非自然数,请重新输入");
return;
}
if (num < 0) {
System.out.println("输入的参数为负数,请重新输入");
return;
}
long result = 1;
for (int i = 1; i <= num; i++) {
result *= i;
}
System.out.println(num + "的阶乘为:" + result);
}
}
```
以上代码可以在命令行输入一个自然数,然后求出其阶乘,并输出结果。同时,该程序也能够判断用户输入的参数是否为自然数,以及是否存在异常情况。
阅读全文