计算任意正整数的阶乘
????? 由于阶乘的结果会超出java数据类型的最大范围,所以采用数组或集合作为存储结果的方式;集合具有长度的自动伸缩,故采用集合作为最终的存储方式;
????? 算法如下:
????? 各位相乘,满十进一位;
?
package com.datastruct.array;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.IOException;public class ConsoleReader{public ConsoleReader(InputStream inStream) { reader = new BufferedReader (new InputStreamReader(inStream)); } public int readInt() { String inputString = readLine(); int n = Integer.parseInt(inputString); return n; } public double readDouble() { String inputString = readLine(); double x = Double.parseDouble(inputString); return x; }public String readLine() { String inputLine = ""; try { inputLine = reader.readLine(); } catch(IOException e) { System.out.println(e); System.exit(1); } return inputLine; } private BufferedReader reader; }
??