前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java实现把整数转换为英语单词的方法,实用代码

Java实现把整数转换为英语单词的方法,实用代码

作者头像
用户1289394
发布2018-02-27 15:27:15
9420
发布2018-02-27 15:27:15
举报
文章被收录于专栏:Java学习网

一个非负整数转换为英文单词表示。

例如:

123 -> "One Hundred Twenty Three"

12345 -> "Twelve Thousand Three Hundred Forty Five"

网络配图

Java解决方法,代码如下:

代码语言:js
复制
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");
}
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档