编写java程序求一个自然数的阶乘,要求该自然数可以由命令行参数输入。注意: 使用命令行输入参数时,用户可能没有给出参数,或给出非自然数的参数。另外,用户输 入的数值有可能为负数,或者存在其他异常
时间: 2023-06-07 21:09:19 浏览: 137
java代码-解决求阶乘的问题java源代码
情况。在这些异常情况下,程序应输出相应的错误提示信息。
回答:以下是 Java 代码示例,可根据命令行参数求阶乘,如果命令行参数不符合要求则输出错误提示信息:
```java
public class Factorial {
public static void main(String[] args) {
if (args.length < 1) {
System.out.println("请提供一个自然数作为命令行参数");
return;
}
int n;
try {
n = Integer.parseInt(args[0]);
} catch (NumberFormatException e) {
System.out.println("输入的参数不是自然数,请重新输入");
return;
}
if (n < 0) {
System.out.println("输入的参数不能为负数,请重新输入");
return;
}
long result = factorial(n);
System.out.println(n + "! = " + result);
}
public static long factorial(int n) {
long result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
}
```
阅读全文