java中分数到小数的示例分析
发表于:2025-01-29 作者:千家信息网编辑
千家信息网最后更新 2025年01月29日,这篇文章主要为大家展示了java中分数到小数的示例分析,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下"java中分数到小数的示例分析"这篇文章吧。给定两个整数
千家信息网最后更新 2025年01月29日java中分数到小数的示例分析
这篇文章主要为大家展示了java中分数到小数的示例分析,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下"java中分数到小数的示例分析"这篇文章吧。
给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数。
如果小数部分为循环小数,则将循环的部分括在括号内。
示例 1:
输入: numerator = 1, denominator = 2
输出: "0.5"
示例 2:
输入: numerator = 2, denominator = 1
输出: "2"
示例 3:
输入: numerator = 2, denominator = 3
输出: "0.(6)"
答案:
1public String fractionToDecimal(int numerator, int denominator) {
2 if (numerator == 0) {
3 return "0";
4 }
5 StringBuilder res = new StringBuilder();
6 res.append(((numerator > 0) ^ (denominator > 0)) ? "-" : "");
7 long num = Math.abs((long) numerator);
8 long den = Math.abs((long) denominator);
9 // 整数部分
10 res.append(num / den);
11 num %= den;
12 if (num == 0) {
13 return res.toString();
14 }
15 // 小数部分
16 res.append(".");
17 HashMap map = new HashMap();
18 map.put(num, res.length());
19 while (num != 0) {
20 num *= 10;
21 res.append(num / den);
22 num %= den;
23 if (map.containsKey(num)) {
24 int index = map.get(num);
25 res.insert(index, "(");
26 res.append(")");
27 break;
28 } else {
29 map.put(num, res.length());
30 }
31 }
32 return res.toString();
33}
解析:
第6行是判断符号位,如果被除数和除数符号相同,则结果为正,否则为负,先计算整数部分,然后再计算小数部分。整数部分比较简单,小数部分我们只需要保存每次相除的余数即可,然后把它保存在HashMap中,如果有重复的说明出现了循环,这题我们还可以参照前面的23,倒数的循环节
Java的优点是什么
1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对象;3. 分布性,Java是面向网络的语言;4. 鲁棒性,java提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。;5. 安全性,用于网络、分布环境下的Java必须防止病毒的入侵。6. 体系结构中立,只要安装了Java运行时系统,就可在任意处理器上运行。7. 可移植性,Java可以方便地移植到网络上的不同机器。8.解释执行,Java解释器直接对Java字节码进行解释执行。
以上就是关于"java中分数到小数的示例分析"的内容,如果该文章对你有所帮助并觉得写得不错,劳请分享给你的好友一起学习新知识,若想了解更多相关知识内容,请多多关注行业资讯频道。
小数
部分
示例
分数
整数
循环
分析
内容
网络
解释
输入
输出
内存
程序
符号
篇文章
学习
帮助
移植
管理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
成都丹露网络技术有限公司
学校买的文献数据库
石河子市网络安全应急指挥
电力系统网络安全防护
融合网络安全
pubg更换服务器会有什么影响
软件开发工资跳槽
惠普服务器进入安全模式按键
英雄联盟在沈阳有服务器么
百度网络技术有限公司有公寓没
电子政务的数据库
嘉定区大规模软件开发不二之选
数据库用户授权权限不足
数据库能接受多少个ado连接
19年软件开发工作工资
广东公安局网络安全支队
智盘系统关系数据库
戮力同心服务器鬼墨
lol服务器角色查询
池州直播平台软件开发定制
摩尔庄园怎么看自己服务器
互联网平台恒为科技
网络安全山东张敬
下载软件开发者被判刑
网络安全股暴跌
云服务器如何查看本地资源
台州椒江区正规软件开发
平顶山淘宝客软件开发公司
如何卸mysql服务器
深圳富萌网络技术有限公司曾超