正文

JAVA中可以有两个方法处理大数计算2013-06-19 14:49:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/javaxx/54260.html

分享到:

首页,感谢你的阅读,本人观点:学习编程是个漫长的过程并不是一时就会很厉害的,关键是坚持,快乐地学习,在这里分享我的一些笔记给你;
广州JAVA培训中可以在java中有两个方法处理这个问题

第一种方法就是BigInteger类,用这个类可以很方便的求出非常大的数.以求100!为例

import java.io.*;

import java.math.BigInteger;

public class calc {

public static void main(String[] args) throws IOException{

BigInteger s = BigInteger.valueOf(1);

for(int i=1;i<=100;i++){

s = s.multiply(BigInteger.valueOf(i));

System.out.println(s);

}

}

}

第二种方法是,把求的值放在足够大的数组中

import java.util.*;

public class calc2{

public static void main(String[] args) throws Exception{

int[] data = new int[1000];

int num = 1;

data[1] = 1;

System.out.println("用数组解决java大数计算问题");

System.out.println("求一个整数的阶乘,请输入一个整数:");

Scanner input = new Scanner(System.in);

int n = input.nextInt();

for(int i=1;i<=n;i++){

for(int j=1;j<=num;j++){

data[j] = data[j] * i;

}

for(int j=1;j<num;j++){

if(data[j] >= 10){

data[j+1]+=data[j]/10;

data[j]=data[j]%10;

}

}

while(data[num]>=10){

num++;

data[num]+=data[num-1]/10;

data[num-1]=data[num-1]%10;

}

}

System.out.print(n+"!=");

for(int t=num;t>=1;t--){

System.out.print(data[t]);

}

}

}
知识就是力量,别人学用知识来赚钱的成本低,在达内学习到编程是铸造梦想的地方,如果你喜欢编程,这里,有我们共同语言,共同的故事,共同的梦想!
(责任编辑:广州达内)

阅读(2537) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册