[java04]java大数类
来源:互联网 发布:网络教育怎么上课 编辑:程序博客网 时间:2024/06/06 08:51
基本的整数和浮点数精度不满足要求的时候可以使用java提供的BigInteger类和BigDecimal类。
java.math.BigInteger
java.math.BigInteger提供的方法:
- BigInteger add(BigInteger other)
- BigInteger subtract(BigInteger other)
- BigInteger multiply(BigInteger other)
- BigInteger divide(BigIntegr other)
- int compareto(BigInteger other)
- BigInteger mod(BigInteger other)
static BigInteger valueOf(long x)
valueOf方法可以将普通的数值转换为大数值:
BigInteger a=BigInteger.valueOf(100);
输出febonacci数列
输出febonacci数列前100项,大约在93项时会超出long的范围:
public static void fibonacci(){ long[] a=new long[100]; for(int i=0;i<100;i++){ if(i==0){ a[0]=0; System.out.print(a[i]+"\t"); continue; }else if(i==1){ a[1]=1; System.out.print(a[i]+"\t"); continue; } a[i]=a[i-1]+a[i-2]; System.out.print(a[i]+"\t"); if((i+1)%5==0){System.out.println("");} } }
改进:
public static void fibonacci() { BigInteger[] a = new BigInteger[200]; for (int i = 0; i < 200; i++) { if (i == 0) { a[0] = BigInteger.valueOf(0); System.out.print(a[i] + "\t"); continue; } else if (i == 1) { a[1] = BigInteger.valueOf(1); System.out.print(a[i] + "\t"); continue; } a[i] = a[i - 1].add(a[i - 2]); System.out.println("第" + i + "项:\t" + a[i] + "\t"); } }
1 0
- [java04]java大数类
- JAVA04
- 学习java04
- 初学JAVA04
- Java大数类解决大数加法
- java 大数类
- JAVA大数类练手
- JAVA大数类练手
- java大数类
- Java 大数类
- JAVA大数类
- JAVA大数类练手
- Java大数类应用
- JAVA大数类练手
- Java 大数类
- java处理大数类
- Java大数类介绍
- JAVA大数类
- 白书练习 6174问题
- 机房重构---透过数据库设计体验学习的快乐
- 高级PHP应用程序漏洞审核技术
- 双色球、大乐透、3D精选版!祝君好运(Javascript)
- SSH进阶(2)——用Struts拦截器实现登陆限制
- [java04]java大数类
- 加入JavaScript 定时器开发俄罗斯方块模式的2048项目
- Hadoop—NN-学习三
- cl.exe
- STM32F10X USART发送详解,测试无误
- 学习Python语言---If语句
- Ubuntu 程序开机启动设置
- 【吐槽】天赋不够 咖啡来凑
- HDU1087 【DP问题之最大递增子段和问题】