编写java程序求一个自然数的阶乘,要求该自然数可以由命令行参数输入。注意: 使用命令行输入参数时,用户可能没有给出参数,或给出非自然数的参数。另外,用户输 入的数值有可能为负数,或者存在其他异常。
时间: 2023-06-07 09:09:37 浏览: 191
Java编程之求输入数的阶乘
5星 · 资源好评率100%
可以在Java中通过命令行输入参数来求阶乘。首先需要检查用户输入的参数是否为自然数,如果不是自然数则输出错误信息。如果是自然数,则进行阶乘计算并输出结果。
以下是Java代码示例:
```java
public class Factorial {
public static void main(String[] args) {
int n = 0;
try {
n = Integer.parseInt(args[0]); // 读取命令行参数并转换为整数
} catch (NumberFormatException e) {
System.out.println("输入的参数不是一个整数");
return;
}
if (n < 0) {
System.out.println("输入的数值不能为负数");
return;
}
int factorial = 1;
for (int i = 2; i <= n; i++) {
factorial *= i;
}
System.out.println(n + "! = " + factorial);
}
}
```
如果用户未给出参数,会抛出ArrayIndexOutOfBoundsException异常,可以在catch块中处理:
```java
int n = 0;
try {
n = Integer.parseInt(args[0]);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("请给出要求阶乘的数值");
return;
} catch (NumberFormatException e) {
System.out.println("输入的参数不是一个整数");
return;
}
```
注意:以上Java代码示例仅供参考,实际应用中还需要考虑异常处理等边界情况。
阅读全文