BigInteger和BigDecimal的练习
前言:
BigInteger用于处理大数据的计算,它继承自java.math.BigInteger。用法相对来说比较简单,掌握几个基本运算即可。
- 初始化: BigInteger sum=new BigInteger("0");
- 加法:sum=sum.add(n1); //这里sum和n都为BigInteger类型
- 减法:sum=sum.subtract(n1);
- 乘法:sum=sum.multiply(n1);
- 除法:sum=sum.divide(n1);
- 幂运算:sum=sum.pow(10);
- 取相反数:sum=sum.negate();
同理,BigDecimal是处理浮点数的大数据运算,继承自java.math.BigDecimal。
- 初始化: BigDecimal num1=new BigDecimal("1234.56453324");
- 加法:sum=sum.add(n1); //这里sum和n都为BigDecimal类型
- 减法:sum=sum.subtract(n1);
- 乘法:sum=sum.multiply(n1);
- 除法:sum=sum.divide(n1);
- 将BigDecimal类型转换为double类型:num1.doubleValue();
- 比较大小:num1.compareTo(num2); //小于 时,返回 -1 ; 等于 时,返回 0 ; 大于 时,返回 1 。
- 四舍五入处理: num1.divide(num2,scale,BigDecimal.ROUND_HALF_UP).doubleValue(); //scale表示保留几位小数
练习1:
BigInteger的加法运算:输入以0结尾
输入例子:
123456789012345678901234567890
123456789012345678901234567890
123456789012345678901234567890
0
输出例子:
370370367037037036703703703670 代码如下:
import java.math.BigInteger;
import java.util.Scanner; public class Integer_Inquiry { public static void main(String[] args) {
Scanner in = new Scanner(System.in);
BigInteger sum=new BigInteger("0");
while(in.hasNext()){
String str=in.next();
if(str.equals("0")){
System.out.println(sum);
sum=new BigInteger("0");
}
BigInteger n=new BigInteger(str);
sum=sum.add(n);
}
in.close(); } }
练习2:BigDecimal加法练习:
输入描述:
对于每组案例,第1行是测试数据的组数n,每组测试数据占2行,分别是两个加数。
每组测试数据之间有一个空行,每行数据不超过100个字符
输出描述:
每组案例是n行,每组测试数据有一行输出是相应的和。
输出保证一定是一个小数部分不为0的浮点数
输入例子:
2
0.111111111111111111111111111111
0.111111111111111111111111111111 10000000.655555555555555555555555555555
1.444444444444444444444444444445
输出例子:
0.222222222222222222222222222222
10000002.1
import java.math.BigDecimal;
import java.util.Scanner; public class 浮点数加法 { public static void main(String[] args) {
Scanner in= new Scanner(System.in);
int n = in.nextInt(); while(n>0){
BigDecimal num1=new BigDecimal(in.next());
BigDecimal num2=new BigDecimal(in.next());
System.out.println(num1.add(num2).doubleValue());
n--;
// if(n>0){
// if(!in.next().equals("")){
// System.out.println("输入格式错误");
// break;
// }
// }
}
in.close(); } }
BigInteger和BigDecimal的练习的更多相关文章
- Java的大数操作分为BigInteger和BigDecimal
Java的大数操作分为BigInteger和BigDecimal,但这两给类是分开使用的,有时候在编程的时候显得略微繁琐,现在编写了一个将二者合二为一的大数操作类. 大数操作类代码如下: 1 pack ...
- Java 大数类BigInteger和BigDecimal的基本函数
在Java中有两个类BigInteger和BigDecimal分别表示不可变的任意精度的整数和不可变的有符号的任意精度的十进制数(浮点数).主要用于高精度计算中.这两个类使得java中的大数,高精度运 ...
- BigInteger与BigDecimal
BigInteger与BigDecimal Java大数字运算(BigInteger类和BigDecimal类) 在 Java 中提供了用于大数字运算的类,即 java.math.BigInteger ...
- 【转】BigInteger、BigDecimal详解
参考 http://lavasoft.blog.51cto.com/62575/228705/ 从Java4到Java5,Java对BigInteger.BigDecimal两个类功能一直再做扩展与改 ...
- Java 之 数学相关类 Math、BigInteger、BigDecimal
一.java.lang.Math 类 一.Math 类概述 java.lang.Math 类包含用于执行基本数学运算的方法,如指数.对数.平方根和三角函数.类似于这样的类,其所有方法均为静态方法,并且 ...
- 拯救你丢失的精度——BigInteger和BigDecimal类(入门)
第三阶段 JAVA常见对象的学习 BigInteger和BigDecimal类 BigInteger类 (一) 构造方法: //针对超过整数范围的运算(整数最大值:2147483647) BigInt ...
- java常用类详细介绍及总结:字符串相关类、日期时间API、比较器接口、System、Math、BigInteger与BigDecimal
一.字符串相关的类 1.String及常用方法 1.1 String的特性 String:字符串,使用一对""引起来表示. String声明为final的,不可被继承 String ...
- BigInteger和BigDecimal
BigInteger BigInteger的作用是对整数做计算,一般的使用String类型初始化BigInteger,它除了封装了基本的加减乘除运算外还提供了signum(),abs()等函数,使用方 ...
- Day30 BigInteger和BigDecimal
BigInteger与BigDecimal BigInteger类 Integer类作为int的包装类,能存储的最大整型值为2 31-1,Long类也是有限的, 最大为2 63-1.如果要表示再大的整 ...
- 经常使用的系统类Math、Arrays、System、BigInteger和BigDecimal以及日期类,时间戳
一.Math 常用类: //看看Math常用的方法(静态方法)//1.abs绝对值int abs = Math . abs(-9);System. out . printLn(abs);//9//2. ...
随机推荐
- 使用spring的JavaMailSender发送邮件
一:pom.xml <!-- java邮件 --> <dependency> <groupId>javax.mail</group ...
- HTML5定稿:手机App将三年内消失,互联网世界的第二次大战
HTML5与app以对立竞争的产品形态展现在大众视野.从去年开始又有一大批技术派或者创业者盯向html5领域,移动游戏的爆发和微信朋友圈等众多平台为HTML5导流,能不能颠覆,或许只是时间上的问题. ...
- 阿里云上给的防止跨站和xss攻击的代码
文档说明: 1.将waf.php传到要包含的文件的目录 2.在页面中加入防护,有两种做法,根据情况二选一即可: a).在所需要防护的页面加入代码require_once('waf.php');就可以做 ...
- Unity3D中切换场景可能导致材质变暗的问题
Unity版本:5.1.1f1 做公司项目的时候,无意间发现了一个很奇葩的现象:场景A(纯UI,故没有光源)转场到场景B的时候,B中原有的光源似乎失效了,但在Hierarchy窗口中能够看到光源存在, ...
- 在代码中控制UI界面
虽然Android推荐使用XML布局文件来控制UI界面,但如果开发者愿意,Android允许开发者完全抛弃XML布局文件,完全在Java代码中控制UI界面. 实例:用编程的方式开发UI界面 packa ...
- javaweb入门实例---servlet例子
1.编写servlet: TreeDataServlet.java package com.maggie.tree; import java.io.IOException; import javax. ...
- Windows Server 2008 R2防火墙入站规则
一般服务器的端口都设置了外网无法访问,iis中创建的网站外网也是访问不了的,需要创建指定端口的入站规则后方可访问. 方法/步骤 服务器管理器-->配置-->高级安全windows防 ...
- JSP/Servlet(一)
JSP/Servlet(一) Web应用和web.xml文件: 一.构建Web应用: 1.在任意目录下创建一个文件夹. 2.在第1步所建的文件夹内建一个WEB-INF文件夹(注意大小写). 3.进 ...
- CI Weekly #13 | 用更 Geek 的方式配置你的 CI 工作流
flow.ci 的重大更新来了--支持通过 .yml 文件配置工作流(测试阶段),具体的使用方法可参考文档:同时 flow.ci 也开放了社区>> club.flow.ci,使用的任何问题 ...
- [Bullet3]创建世界(场景)及常见函数
创建世界(场景)及常见函数 官方文档:http://bulletphysics.org 开源代码:https://github.com/bulletphysics/bullet3/releases A ...