Java实现把整数转换为英语单词的方法,实用代码
时间:2022-04-29
本文章向大家介绍Java实现把整数转换为英语单词的方法,实用代码,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一个非负整数转换为英文单词表示。
例如:
123 -> "One Hundred Twenty Three"
12345 -> "Twelve Thousand Three Hundred Forty Five"
网络配图
Java解决方法,代码如下:
public class Solution {
HashMap<Integer, String> map = new HashMap<Integer, String>();
public String numberToWords(int num) {
fillMap();
StringBuilder sb = new StringBuilder();
if(num==0){
return map.get(0);
}
if(num >= 1000000000){
int extra = num/1000000000;
sb.append(convert(extra) + " Billion");
num = num%1000000000;
}
if(num >= 1000000){
int extra = num/1000000;
sb.append(convert(extra) + " Million");
num = num%1000000;
}
if(num >= 1000){
int extra = num/1000;
sb.append(convert(extra) + " Thousand");
num = num%1000;
}
if(num > 0){
sb.append(convert(num));
}
return sb.toString().trim();
}
public String convert(int num){
StringBuilder sb = new StringBuilder();
if(num>=100){
int numHundred = num/100;
sb.append(" " +map.get(numHundred)+ " Hundred");
num=num%100;
}
if(num > 0){
if(num>0 && num<=20){
sb.append(" "+map.get(num));
}else{
int numTen = num/10;
sb.append(" "+map.get(numTen*10));
int numOne=num%10;
if(numOne>0){
sb.append(" " + map.get(numOne));
}
}
}
return sb.toString();
}
public void fillMap(){
map.put(0, "Zero");
map.put(1, "One");
map.put(2, "Two");
map.put(3, "Three");
map.put(4, "Four");
map.put(5, "Five");
map.put(6, "Six");
map.put(7, "Seven");
map.put(8, "Eight");
map.put(9, "Nine");
map.put(10, "Ten");
map.put(11, "Eleven");
map.put(12, "Twelve");
map.put(13, "Thirteen");
map.put(14, "Fourteen");
map.put(15, "Fifteen");
map.put(16, "Sixteen");
map.put(17, "Seventeen");
map.put(18, "Eighteen");
map.put(19, "Nineteen");
map.put(20, "Twenty");
map.put(30, "Thirty");
map.put(40, "Forty");
map.put(50, "Fifty");
map.put(60, "Sixty");
map.put(70, "Seventy");
map.put(80, "Eighty");
map.put(90, "Ninety");
}
}
- 十分钟学perl够用(客服MM都懂了)
- Java多线程并发编程一览笔录
- Tomcat6/7应用服务器-禁用RC4等弱密码套件
- mybaits3整合spring总结
- 如何使用Airgeddon找回WiFi密码
- 设计缺陷将导致亚马逊Echo变身成为监听设备
- Unity引擎与C#脚本简介
- Redis分布式缓存系统Lua脚本食用指引
- 基于复杂方案OWSAP CsrfGuard的CSRF安全解决方案(适配nginx + DWR)
- XMLHttpRequest对象如何兼容各浏览器使用?
- Java使用wsdl生成axis版本webservice服务端/客户端代码
- Java微信支付快速入门&工具类
- redis集群 - linux安装与配置笔记
- Apache RocketMQ 4.0.0 - linux安装与配置笔记
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释