Java的数末尾至少有4个0对吗_java 大数末尾去0 java 读取字符串

2023-11-09

import java.math.BigDecimal;

import java.util.*;

public class Main

{

public static void main(String[] args)

{

BigDecimal a, b, c;

Scanner cin = new Scanner(System.in);

while(cin.hasNext())

{

a = cin.nextBigDecimal();

b = cin.nextBigDecimal();

c = a.add(b);

if(c.compareTo(BigDecimal.ZERO) == 0)

System.out.println("0");

else

System.out.println(c.stripTrailingZeros().toPlainString()); //这一点很重要

}

}

}

大明 a+b

import java.io.*;

import java.util.*;

import java.math.*;

import java.text.*;

public class Main {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner cin = new Scanner(System.in);

while(cin.hasNext()){

String a1,b1,c1;

String x;

a1 = cin.next();

x = cin.next();

b1 = cin.next();

BigInteger n = new BigInteger("2147483647");

BigInteger a = new BigInteger(a1);

BigInteger b = new BigInteger(b1);

BigInteger c;

System.out.println(a1.toString() + ' ' + x + ' ' + b1.toString());

if(x.equals("+")){

c = a.add(b);

if(a.compareTo(n)>0){

System.out.println("first number too big");

}

if(b.compareTo(n)>0){

System.out.println("second number too big");

}

if(c.compareTo(n)>0){

System.out.println("result too big");

}

}

if(x.equals("*")){

c = a.multiply(b);

if(a.compareTo(n)>0){

System.out.println("first number too big");

}

if(b.compareTo(n)>0){

System.out.println("second number too big");

}

if(c.compareTo(n)>0){

System.out.println("result too big");

}

}

}

}

}uva465

装载:

在用C或者C++处理大数时感觉非常麻烦,但是在JAVA中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,至于两个类的对象能表示最大范围不清楚,理论上能够表示无线大的数,只要计算机内存足够大。

这两个类都在java.math.*包中,因此每次必须在开头处引用该包。

Ⅰ基本函数:

1.valueOf(parament);将参数转换为制定的类型

比如int a=3;

BigInteger b=BigInteger.valueOf(a);

则b=3;

String s=”12345”;

BigInteger c=BigInteger.valueOf(s);

则c=12345;

2.add();大整数相加

BigInteger a=new BigInteger(“23”);

BigInteger b=new BigInteger(“34”);

a.      add(b);

3.subtract();相减

4.multiply();相乘

5.divide();相除取整

6.remainder();取余

7.pow();   a.pow(b)=a^b

8.gcd();最大公约数

9.abs();绝对值

10.negate();取反数

11.mod(); a.mod(b)=a%b=a.remainder(b);

12.max(); min();

13.punlic int comareTo();

14.boolean equals();是否相等

15.BigInteger构造函数:

一般用到以下两种:

BigInteger(String val);

将指定字符串转换为十进制表示形式;

BigInteger(String val,int radix);

将指定基数的BigInteger的字符串表示形式转换为BigInteger

Ⅱ.基本常量:

A=BigInteger.ONE    1

B=BigInteger.TEN    10

C=BigInteger.ZERO   0

Ⅲ.基本操作

1.读入:

用Scanner类定义对象进行控制台读入,Scanner类在java.util.*包中

Scanner cin=new Scanner(System.in);// 读入

while(cin.hasNext())   //等同于!=EOF

{

int n;

BigInteger m;

n=cin.nextInt(); //读入一个int;

m=cin.BigInteger();//读入一个BigInteger;

System.out.print(m.toString());

}

Ⅳ.运用

四则预算:

import java.util.Scanner;

import java.math.*;

import java.text.*;

public class Main

{

public static void main(String args[])

{

Scanner cin = new Scanner ( System.in );

BigInteger a,b;

int c;

char op;

String s;

while( cin.hasNext() )

{

a = cin.nextBigInteger();

s = cin.next();

op = s.charAt(0);

if( op == '+')

{

b = cin.nextBigInteger();

System.out.println(a.add(b));

}

else if( op == '-')

{

b = cin.nextBigInteger();

System.out.println(a.subtract(b));

}

else if( op == '*')

{

b = cin.nextBigInteger();

System.out.println(a.multiply(b));

}

else

{

BigDecimal a1,b1,eps;

String s1,s2,temp;

s1 = a.toString();

a1 = new BigDecimal(s1);

b = cin.nextBigInteger();

s2 = b.toString();

b1 = new BigDecimal(s2);

c = cin.nextInt();

eps = a1.divide(b1,c,4);

//System.out.println(a + " " + b + " " + c);

//System.out.println(a1.doubleValue() + " " + b1.doubleValue() + " " + c);

System.out.print( a.divide(b) + " " + a.mod(b) + " ");

if( c != 0)

{

temp = "0.";

for(int i = 0; i < c; i ++) temp += "0";

DecimalFormat gd = new DecimalFormat(temp);

System.out.println(gd.format(eps));

}

else System.out.println(eps);

}

}

}

}

补充:

a=a.pow(b);         a=a.stripTrailingZeros();          d=a.toPlainString();         if(d.charAt(0)=='0') d=d.substring(1);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java的数末尾至少有4个0对吗_java 大数末尾去0 java 读取字符串 的相关文章

  • 小程序:调用手机的相册

    1 需求 点击按钮 调用手机相册选择图片上传 2 解决方案 Button 上加 openType chooseAvatar onChooseAvatar 写方法 必须用button 按钮 更改下样式看不出来就行 3 代码 解决方案 1 Bu
  • Linux——文件系统:目录组织结构、文件类型、文件权限等

    在Linux中 所有的设备都是文件 文件的类型是根据文件头字段来判断 而非文件的后缀名 Linux的文件系统 EXT4 索引式的文件系统 以EXT4文件系统格式化磁盘时 将磁盘分成三个区 1 superblock 记录文件系统的整体信息 包
  • 微信小程序 短信验证 功能的实现(附案例代码/前后端/直接用)

    模块效果展示 小程序界面 实现的功能 小程序端 请求获取短信验证码 两次请求之间间隔至少一分钟 填写必填内容后 才能提交表单 手机号合法性检验 后台 接前台请求后 通过阿里云发送短信 生成随机数字验证码 默认6位 收到提交的表单后 对验证码
  • 如何实现IM即时通信系统(一)

    在企业数字化建设过程中 如何与客户保持线上链接是重要的组成部分 而IM通信系统就属于数字化建设的基础设施 那么 如何实现一个符合企业需求的IM系统呢 采购当然是其中需要考虑的方式之一 但就我个人的经验来看 市面上好的IM厂商很稀少 因为IM
  • 哈希表(散列表)——C++数据结构详解

    目录 1 哈希表原理精讲 2 哈希链表算法实现 2 1哈希表数据结构定义 2 2哈希函数 2 3哈希链表初始化 2 4哈希链表查找函数 2 5哈希链表插入函数 2 6哈希链表删除元素 3 哈希表完整代码 哈希表 散列表 它是基于快速存取的角
  • [运放滤波器]4_积分微分电路

    动态系统的建模与分析 15 伯德图 bode图 为什么是20logM 分贝又是什么 动态系统的建模与分析 9 一阶系统的频率响应 低通滤波器 动态系统的建模与分析 8 频率响应 详细数学推导 G jw 滤波器 运放滤波器 3 反相同相比例放
  • java ssh连接_PuTTY 0.71 发布,开源的 SSH 和 Telnet 客户端

    PuTTY 最新版本 0 71 已发布 PuTTY 是一款集成虚拟终端 系统控制台和网络文件传输为一体的自由开源程序 它支持多种网络协议 包括 SCP SSH Telnet rlogin 和原始的套接字连接 它也可以连接到串行端口 其软件名
  • mysql 外连接总结

    原文 http blog sina com cn s blog 3d48dbb70100hyz4 html 了点时间总结了一下mysql中的内 外连接 转载注明 首先my sql 不支持oracle的 内连接 只连接匹配的行 左外连接 包含
  • 关于智能合约开发的真相

    就像 区块链 AI 和 云 这样的词语一样 智能合约 也是那些得到大量炒作的短语之一 毕竟 没有什么比不通过司法系统而让人们能够相信发生了什么更有意思的了 智能合约的承诺包括 自动 无须信任和公正地执行合约 在合约构建 合约执行和合约执行环
  • 狂神说 Docker笔记

    Docker概述 Docker为什么出现 Docker的思想来自于集装箱 JRE 多个应用 端口冲突 原来都是交叉的 隔离 Docker核心思想 打包装箱 每个箱子是互相隔离的 Docker通过隔离机制 可以将服务器利用到极致 Docker
  • ShardingSphere分库分表2-ShardingJDBC实战

    文章目录 一 ShardingSphere 二 ShardingJDBC实战 1 核心概念 2 测试项目介绍 3 快速实战 4 ShardingJDBC的分片算法 5 ShardingSphere的SQL使用限制 6 分库分表带来的问题 7
  • JAVA四大特征(抽象,封装,继承,多态)

    1 私有属性必须通过一个成员方法去控制和访问私有属性 2 访问控制修饰符 访问级别 访问控制修饰符 同类 同包 子类 不同包 公开 public 受保护 protected 默认 无 私有 private 3 继承 当多个类具有相同的属性
  • Oracle常见错误总结

    最近多次用到Oracle 主要就是导入dmp文件 然后将文件读出来并写进csv文件 在这过程中出现了一系列的问题 每次都几乎让我崩溃 一方面觉得Oracle用起来真麻烦 但是回过头想想 另一方面说明Oracle机制做的好 各种错误都能考虑到
  • MySQL学习笔记--菜鸟开始上路了!

    开篇话 用MySQL有一段时间了 但是发现自己没有系统的对SQL进行过深入学习 从这篇笔记开始对SQL进行系统学习 也希望和我情况一样的伙伴能够一起进步 学习前症状 状态适用 虽然顺利的把数据从库表中取出 但并不清楚它具体是怎样执行的 也不
  • LLVM系列第七章:函数参数Function Arguments

    系列文章目录 LLVM系列第一章 编译LLVM源码 LLVM系列第二章 模块Module LLVM系列第三章 函数Function LLVM系列第四章 逻辑代码块Block LLVM系列第五章 全局变量Global Variable LLV
  • Java 递归方法

    Java 递归方法 1 说明 定义 一个方法体内调用它自己 方法递归是一种隐式的循环 它会重复的执行某段代码 但这种重复执行无须循环控制 递归一定要向着已知的方向递归 否则这种递归就变成了无穷递归 类似于死循环 2 code 举例 publ
  • Redis7之哨兵(九)

    9 1介绍 哨兵巡查监控后台master主机是否故障 如果故障了根据投票数自动将某一个从库转换为新主库 继续对外服务 俗称无人值守运维 作用 监控redis运行状态 包括master和slave 当master down机 能自动将slav
  • VS2019 + Qt5.13 配置

    在安装完VS2019后 再安装Qt5 13选择安装msvc2017模块 再安装qt vsaddin插件 我选的是2 4版本 反正安装最新的也不会错 安装成功后 新建项目 发现问题 Entry Point Not Found 这是因为编译的版
  • python线程池 ThreadPoolExecutor

    python 线程池 ThreadPoolExecutor 实现步骤 代码实现 实现步骤 创建一个最大容纳数量为3的线程池 通过submit提交执行的函数到线程池中 通过done来判断线程是否完成 通过result来获取返回值 代码实现 c

随机推荐

  • VS code “密钥externalConsole已弃用,请改用console“的解决方法

    VS code 密钥 externalConsole 已弃用 请改用 console 的解决方法 原因 externalConsole 是旧版vscode cpp的密钥 决定输出和调试是在内部还是外部 新版vscode密钥已经改为 cons
  • 阿里巴巴Java开发规约插件

    代码规范的重要性 前不久很多公众号都在说因为代码规范性引起的血案 这事吧 我也没有太在意 好像后来证实根本不属实 但是 也说明了一个事情 代码规范真的很重要 附带一下查询的结果 搜索关键字 码农因代码规范 代码规范 真的很重要 很重要 很重
  • 《快速阅读术》优秀读后感范文4000字

    读书是一种很好的学习 学习是为了 学以致用 在寻求 学以致用 的实操的方法时 发现一个关于学习的金字塔模型 这是美国国家训练实验室的一个结论 听讲 阅读 视听和演示为被动学习 内容留存率比较低 不到30 这是为什么读了很多书 99 的内容都
  • pip安装python包时遇到的问题

    在windows 10种使用pip安装greenlet时 遇到下面这样一个错误 通过搜索发现有很多类似的情况发生在安装scrapy twisted等库的时候 看起来时需要一个c 编译器 安装vstudio实在太大了 网上也给出了不少解决方案
  • 什么是软件性能测试

    说到性能测试 想必大家都会有种种困惑 对于性能测试的概念也模糊得很 那么今天就和大家聊一聊什么是性能测试 性能测试其实是通过模拟生产运行的业务压力量和使用场景组合 测试系统的性能是否满足生产性能要求 通俗地说 性能测试就是要在特定的运行条件
  • 中科院分区和JCR分区查询

    本文将讨论中科院分区和JCR分区查询的三种方法 包括可以同时查询的LetPub查询方法 中科院分区的官方查询方法和JCR分区的查询方法 具体内容见正文 附 本所述方法为本人研究总结 在这里以开放交流的心态与大家分享 欢迎留言讨论 通过Let
  • python自动化[poco篇]

    Poco Poco是一款跨平台的自动化测试框架 基于UI控件搜索原理 与基于图像识别的Airtest不同的是 Poco可以使用类似 poco OK click 的方式来获取并操作节点 Poco能帮助我们获取控件的属性信息 操作控件 设置控件
  • 美国研究生院计算机数据科学排名,美国研究生数据科学专业排名

    美国数据科学专业列表 1 哈佛大学 计算科学与工程理学硕士 M S in Computational Science and Engineering 专业排名 1 1 哈佛大学 数据科学理学硕士 Master of Science in D
  • antv g2plot可视化图表在vue中的使用之四:为图表添加事件

    文章目录 图表事件event g2plot升级 仪表盘Gauge添加点击事件 仪表盘类型 仪表盘组成 仪表盘事件 其他 参考资料 图表事件event 我们经常会遇到为图表添加事件的需求 无论是对整个图表还是对图表中的某些元素添加事件 包括点
  • 大数据-本地yum

    1创建挂载目录 root sizhan mkdir mnt cdrom 挂载 root sizhan mount t iso9660 o ro dev cdrom mnt cdrom root sizhan ll mnt cdrom 总用量
  • 【OpenCV学习笔记】【异常处理】一(The Matrix is not continuous, thus its number of rows can not be changed)

    在调试 Mastering OpenCV with Practical Computer Vision Projects 书中的代码 trainSVM cpp文件 对数码管的正负样本进行训练时 出现以下错误 OpenCV Error Ima
  • 3周攻克数据结构(入门)——53.最大子数组和

    力扣53 最大子数组和 题目描述 解法 动态规划 就像是喝汤的时候我们喜欢用勺子一样 这道题它从头到脚都透露着快用DP 动态规划 来解决我的气息 为什么这么说呢 题目 最大子数组 题干 请你找出一个具有最大和的连续子数组 当然 最关键的是子
  • 几个硬盘接口协议IDE, PATA, ATA, SATA, SAS, SCSI,PCIe, FC的总结

    ATA AT attachment 是IDE Integrated Drive Electronics 硬盘的接口标准 包括PIO Programming I O 和DMA Direct Memory Access 两种传输模式 ATA本身
  • Python3版本移植到openwrt,运行失败解决方法

    移植方法参考 https blog csdn net Colin xuan article details 81109328 直接复制到Ubuntu下 再修改会有问题 我是手动写了一遍 主要修改路径 编译工具链 configure host
  • python每日一题

    这个程序将输出 120 和 1 分别表示 5 的阶乘和 0 的阶乘 def factorial n 计算一个数的阶乘 if n 0 return 1 else return n factorial n 1 这个函数接受一个整数作为参数 并使
  • 网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton & inet_ntop

    inet aton inet addr和inet ntoa在点分十进制数串 如 192 168 1 10 与他的32位网络字节二进制值之前转换IPV4地址 有2个比较新的函数inet pton和inet ntop 这2个对IPV4和IPV6
  • String、StringBuffer、StringBuilder区别及使用场景

    String StringBuffer StringBuilder区别及使用场景 java提供了两种类型的字符串 String和StringBuffer StringBuilder 都可以存储和操作字符串 String 基本介绍 1 Str
  • 顶部导航向下滑动变色

    HTML部分
  • ArcGIS9.3 SDE安装

    如果已经安装过arcSDE 需要重新安装 并重建sde 执行下列步骤 1 运行ArcSDE卸载工作 卸载已经安装的ArcSDE 系统会提示是否删除sde服务 选择是 2 使用Oracle管理控制台 先删除SDE用户 然后删除SDE表空间 3
  • Java的数末尾至少有4个0对吗_java 大数末尾去0 java 读取字符串

    import java math BigDecimal import java util public class Main public static void main String args BigDecimal a b c Scan