求~编写一个完整的java递归程序,从键盘输入数字n!,程序自用计算n!,并输出。(注:n!=1*2*3*......n)

这是我的面试题啊~求大侠帮忙啊
2024年11月15日 10:45
有1个网友回答
网友(1):

import java.io.IOException;
import java.io.InputStream;

public class Digui {

/**
* @param args
*/
public static void main(String[] args) {
byte[] b = new byte[32];
while (true) {
try {
System.out.println("请输入正整数,获取其阶乘,输入over结束");
System.in.read(b);
String res = new String(b).trim();
if (res.equals("over")) {
System.out.println("程序结束");
break;
}
int i = Integer.parseInt(res.trim());
if (i <= 0)
continue;
System.out.println(i + "!=" + getResult(i));
} catch (IOException e) {
e.printStackTrace();
} catch (NumberFormatException ne) {
System.out.println("请输入正整数");
}
}
}

public static int getResult(int i) {
return i == 1 ? i : i * getResult(i - 1);
}
}