题意:给出一下正整数,输出英文表示

思路:每三个数一组,因为最多有三组,对应的分别为Billion,Million,Thousand。然后针对每组的数输出

代码如下:

public class Solution
{private String[] bigNum = {"Billion", "Million", "Thousand","" };private String[] num_str = {"", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen","Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"};private String numberToString(int num){StringBuilder sb = new StringBuilder();int n = num / 100;if (n > 0){sb.append(num_str[n]);sb.append(" Hundred");}n = num % 100;if (n > 0 && n < 20){if (sb.length() != 0) sb.append(" ");sb.append(num_str[n]);}else if (n >= 20){if (sb.length() != 0) sb.append(" ");sb.append(num_str[19 + n / 10 - 1]);n %= 10;if (n != 0){if (sb.length() != 0) sb.append(" ");sb.append(num_str[n]);}}return sb.toString();}public String numberToWords(int num) {List<Integer> ar = new ArrayList<Integer>();while (num >= 1000) {int tmp = num % 1000;ar.add(tmp);num /= 1000;}if (num != 0) ar.add(num);//System.out.println(ar);int size = ar.size();//System.out.println("size:" + size);StringBuilder sb = new StringBuilder();for (int i = size - 1; i >= 0; i--){if (ar.get(i) != 0){if (sb.length() != 0) sb.append(" ");sb.append(numberToString(ar.get(i)));if (!bigNum[3 - i].isEmpty()) sb.append(" ");sb.append(bigNum[3 - i]);}}if (sb.length() == 0) sb.append("Zero");return sb.toString();}
}

LeetCode Integer to English Words(整数转化为英文字母)相关推荐

  1. 273 Integer to English Words 整数转换英文表示

    将非负整数转换为其对应的英文表示,给定的输入是保证小于 231 - 1 的. 示例: 123 -> "One Hundred Twenty Three" 12345 -> ...

  2. [LeetCode] Integer to English Words

    Convert a non-negative integer to its english words representation. Given input is guaranteed to be ...

  3. swift 拼音转化为英文字母

    原来Object 也有这样的东西,弄个过来,发现是用C写的,原来是用object-c 去调用,再从swift中调用oc,然后刚好配遇上一个BUG,排序的问题,"sortInplace&quo ...

  4. LeetCode 2309. 兼具大小写的最好英文字母

    [LetMeFly]2309.兼具大小写的最好英文字母 力扣题目链接:https://leetcode.cn/problems/greatest-english-letter-in-upper-and ...

  5. LeetCode第一刷--leetcode提交格式介绍与273. Integer to English Words

    第一次玩Leetcode,对代码提交格式不了解,提交了一上午,略尴尬 leetcode确实有很多有意思的地方,不像以前做各个高校ACM练习,leetcode会给出错误信息(哪个数据的错了),也会提供测 ...

  6. VHDL 整数转化为向量 integer to std_logic_vector

    VHDL 整数转化为向量 integer to std_logic_vector 首先包含std_logic_arith 然后:(举例分析) signal input_1  : integer; si ...

  7. LeetCode(13.罗马数字转整数) JAVA Hashmap

    LeetCode(13.罗马数字转整数) JAVA Hashmap 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D ...

  8. LeetCode第7题:整数反转

    生命无罪,健康万岁,我是laity. 我曾七次鄙视自己的灵魂: 第一次,当它本可进取时,却故作谦卑: 第二次,当它在空虚时,用爱欲来填充: 第三次,在困难和容易之间,它选择了容易: 第四次,它犯了错, ...

  9. c++实现atoi()和itoa()函数(字符串和整数转化)

    (0) c++类型所占的字节和表示范围 c 语言里 类型转换那些事儿(补码 反码) 应届生面试准备之道 最值得学习阅读的10个C语言开源项目代码 一:起因 (1)字符串类型转化为整数型(Integer ...

最新文章

  1. windows加载符号小计
  2. python资料下载-python电子书学习资料打包分享百度云资源下载
  3. 以计算机网络为中介的人际传播,以计算机为中介的人际传播理论范式
  4. scanf读取字符_在C语言中使用scanf()读取整数时跳过字符
  5. windosw7 Hosts文件的位置
  6. Android自定义ImageView(二)——实现双击放大与缩小图片
  7. 值从哪里来_内存频率是怎么算出来的?2133MHz这么奇怪的数字是怎么来的?
  8. 计算机基础与应用2,计算机基础与应用(作业2)
  9. (转)Android权限列表permission说明 (一)
  10. php获取图片所有颜色代码,php 获取一张图片所有点的颜色值
  11. 关于Linux进程优先级数字混乱的彻底澄清
  12. 计算机网络数据传输的,计算机网络数据传输技术基本概念
  13. windows 使用docker构建镜像
  14. [高西泉] 数字信号处理(第四版)程序集
  15. jwt token注销_JWT 管理用户登录时,都需要把 token 存数据库里,判断用户登出时删除吗?...
  16. 禁忌搜索(Tabu Search)算法及matlab实现(非旅行商(TSP)例子)
  17. 初识Tesseract
  18. SqlException:ConnectionTimeout Expired. The timeout period elapsed during the post-login phase
  19. RTOS学习笔记--时间片调度
  20. 前沿笔记|Eva:基于AI强化学习的COVID-19检测判断模型|Nature

热门文章

  1. (转)动态SQL和PL/SQL的EXECUTE IMMEDIATE选项
  2. stella forum v1.2的开发报告1-spl数据操作层的使用
  3. 熟练掌握python是什么概念-想要熟练掌握Python元组?你需要了解这10件应知事项...
  4. 什么样的python程序员好找工作-Python学到什么程度才可以去找工作?掌握这4点足够了!...
  5. 扇贝编程python是干嘛的-产品观察 | 以对话式互动学习撬动转化,扇贝编程瞄准职教市场...
  6. python27-资源|全机器学习和Python的27个速查表(完整版)
  7. python简单代码演示效果-10分钟教你用python 30行代码搞定简单手写识别!
  8. python如何开发小软件-Python程序员,如何快速开发一个小程序
  9. 零基础自学python教程-零基础学Python不迷茫——基本学习路线及教程
  10. python官网安装步骤-新手Windows下Python下载安装教程及配置注意事项