Java中求100的阶乘
使用BigInteger大容量运算类计算100的阶乘
一.一般算法(循环)
public class Test {
public static void main(String[] args) {
int result = 1;
for (int i = 1; i <= 100; i++) {
result *= i;
}
System.out.println(result);
}
}
输出结果为0,因为int无法保存下100的阶乘的结果,100的阶乘的长度至少大于50位,也要大于long,double
二.使用BigInteger大容量运算类
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
BigInteger result = new BigInteger("1");//为result赋初始值,为1
for (int i = 1; i <= 100; i++) {
BigInteger num = new BigInteger(String.valueOf(i));
result = result.multiply(num);//调用自乘方法
}
System.out.println(result);//输出结果
System.out.println(String.valueOf(result).length());//输出长度
}
}
计算结果为:93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
产度:158
相关文档:
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;
public class DocumentUtil
{
public static Document loadXMLByAbsolutePath(String absoluteFilePath, String logFileName)
{
SAXReader saxReader = new SAXReader();
Document document = null;
try ......
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import com.paic.is.dispatch.TMPEntry;
public class FileUtil
{
public static File getFileByRelativePath(String ......
public class StringUtil
{
public static String convertToStringWithTrim(Object object)
{
if(null == object)
{
return null;
}
String returnStr = (String)object;
return Trim(returnStr);
}
public static String Trim(String str)
{
if(IsEmpty(str))
{
r ......
我在玩一个网页游戏的时候总是按一个键。觉着累。所以就写了一个程序。
Robot r = new Robot();
// 按键
r.keyPress(51);
// 释放
r.keyRelease(51);
用Robot 这个实现自动化的类就可做到。实现这个游戏一直按下这个键子。
也可以做按键精灵类似的软件。但是这个类只能应用当前窗口。怎么能把这个程序固定在某 ......
/**
* 把指定的内容写到指定路径的文本文件上
*
* @param path指定路径
* @param context 要写的内容
*/
public static void writeFile(String path, String context) {
// 从控制台输入内容写入文件
try {
FileWriter fw = new FileWriter(path, true);
PrintWriter pw = new Print ......