设计一个求 n! 的方法,结果为一个长整数。编写一个程序从键盘输入一个数给整数 K 赋值,然后调用求 n! 的方法求 K!,在程序中规划处理如下异常情况:
① 输入的数不是一个整数,而是实数,则不计算。
② 输入的数据是一个十六进制表示形式的串,则转换为十进制数,再进行计算。
import java.util.InputMismatchException;
import java.util.Scanner;
public class Jc {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String K = sc.next();
try {
try {
int n = Integer.parseInt(K, 10);
System.out.println(jc(n));
} catch (Exception e) {
int n = Integer.parseInt(K, 16);
System.out.println(jc(n));
}
} catch (NumberFormatException e) {
System.out.println("输入错误");
}
}
public static long jc(int n) {
if (n == 0)
return 1;
else
return n * jc(n - 1);
}
}