关注
public class test { private static HashMap<integer> mapping = new HashMap<integer>(); static { mapping.put(100, "hundred"); mapping.put(90, "ninety"); mapping.put(80, "eighty"); mapping.put(70, "seventy"); mapping.put(60, "sixty"); mapping.put(50, "fifty"); mapping.put(40, "forty"); mapping.put(30, "thirty"); mapping.put(20, "twenty"); mapping.put(19, "nineteen"); mapping.put(18, "eighteen"); mapping.put(17, "seventeen"); mapping.put(16, "sixteen"); mapping.put(15, "fifteen"); mapping.put(14, "fourteen"); mapping.put(13, "thirteen"); mapping.put(12, "twelve"); mapping.put(11, "eleven"); mapping.put(10, "ten"); mapping.put(9, "nine"); mapping.put(8, "eight"); mapping.put(7, "seven"); mapping.put(6, "six"); mapping.put(5, "five"); mapping.put(4, "four"); mapping.put(3, "three"); mapping.put(2, "two"); mapping.put(1, "one"); mapping.put(0, ""); } public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNext()) { // 注意 while 处理多个 case String rs = new String(""); long num = Long.parseLong(in.next()); long base = num % 1000L; // under 1 thousand part rs = assemble(rs, base, ""); long caculate = num / 1000L; if (caculate == 0L) { System.out.println(rs); continue; } // has more than thousand long thou = caculate % 1000L; // thousand part rs = assemble(rs, thou, "thousand"); caculate = caculate / 1000L; if (caculate == 0L) { System.out.println(rs); continue; } // has more than million long mill = caculate % 1000L; // mill part rs = assemble(rs, mill, "million"); caculate = caculate / 1000L; if (caculate == 0L) { System.out.println(rs); continue; } // has more than billion long billion = caculate % 1000L; // billion part rs = assemble(rs, billion, "billion"); System.out.println(rs); } } private static String assemble(String rs, long l, String subfix) { if (!rs.equals("")) { rs = " " + rs; } if (l < 10L) { rs = mapping.get((int)l) + " " + subfix + rs; return rs; } if(l > 10 && l < 20){ rs = mapping.get((int)l%100) + " " + subfix + rs; return rs; } if (l < 100L) { String temp = mapping.get((int)l % 10).equals("")?"": " " + mapping.get((int)l % 10); rs = mapping.get((int)l / 10 * 10) + temp + " " + subfix + rs; return rs; } String temp = mapping.get((int)(l / 100)) + " hundred "; if(l % 100/10 == 0L && l % 100 % 10 == 0L){ return temp + subfix + rs; } if(l % 100/10 == 0L && l % 100 % 10 != 0L){ return temp + "and " + mapping.get((int)(l % 10)) + " " + subfix + rs; } if(l % 100 > 10 && l % 100 < 20){ return temp + "and " + mapping.get((int)l%100) + " " + subfix + rs; } rs = temp + "and " + mapping.get((int)(l % 100 / 10 * 10L)) + " " + mapping.get((int)(l %100 % 10)) + " " + subfix + rs; rs.trim(); return rs; } }</integer></integer>
点赞
相关推荐
10-27 17:28
深圳大学 测试开发 点赞 评论 收藏
分享
10-23 15:58
华中农业大学 Java
LZStarV:冲就好了,就算真的是字节也冲,面评脏了大不了等三四个月就淡了,而且等到那个时候实力进步了选择还多,何必拘泥于字节 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 校招生月薪1W算什么水平 #
35066次浏览 194人参与
# 哪一瞬间觉得自己长大了 #
38413次浏览 493人参与
# “vivo”个offer #
39146次浏览 280人参与
# 如果上班像打游戏,你最想解锁什么技能 #
8390次浏览 70人参与
# vivo工作体验 #
28096次浏览 124人参与
# 为了实习逃课值吗? #
29067次浏览 271人参与
# 工作后明白的那些道理 #
21907次浏览 225人参与
# 一人一个landing小技巧 #
124062次浏览 1447人参与
# 我是面试官,请用一句话让我破防 #
26887次浏览 128人参与
# 实习最想跑路的瞬间 #
87646次浏览 543人参与
# 中美关税战对我们有哪些影响 #
43252次浏览 361人参与
# 机械制造2023笔面经 #
149753次浏览 840人参与
# 如果重来一次你还会读研吗 #
201807次浏览 1932人参与
# AI时代,哪些岗位最容易被淘汰 #
3518次浏览 27人参与
# 中美关系回暖,你会选择出海吗? #
6956次浏览 107人参与
# 华为保温 #
107904次浏览 408人参与
# 哪些行业值得去? #
5574次浏览 50人参与
# i人适合做什么工作 #
11646次浏览 97人参与
# 美团开奖 #
223695次浏览 1154人参与
# 读研or工作,哪个性价比更高? #
78439次浏览 769人参与
# 如果秋招能重来,我会____ #
37899次浏览 303人参与