我已经看到很多算法,你给它们一个数字说“123”,它将它转换为123.但我似乎无法找到相反的东西,而我确实找到的只能达到数字1000,任何人都可以用正确的方式指导我,因为我可以做的就是创建一个方法“一千二百三十四“并且还给”1234“

解决方法:

我希望下面的代码可以在大多数情况下完成工作.但是可能需要进行一些修改,因为我还没有正确测试.

假设:

>不允许使用正数,负数,加号,减号.

> Lac,不允许使用crore.

>仅支持英语.

如果你需要支持前两点,你可以很容易地做到这一点.

boolean isValidInput = true;

long result = 0;

long finalResult = 0;

List allowedStrings = Arrays.asList

(

"zero","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",

"hundred","thousand","million","billion","trillion"

);

String input="One hundred two thousand and thirty four";

if(input != null && input.length()> 0)

{

input = input.replaceAll("-", " ");

input = input.toLowerCase().replaceAll(" and", " ");

String[] splittedParts = input.trim().split("\\s+");

for(String str : splittedParts)

{

if(!allowedStrings.contains(str))

{

isValidInput = false;

System.out.println("Invalid word found : "+str);

break;

}

}

if(isValidInput)

{

for(String str : splittedParts)

{

if(str.equalsIgnoreCase("zero")) {

result += 0;

}

else if(str.equalsIgnoreCase("one")) {

result += 1;

}

else if(str.equalsIgnoreCase("two")) {

result += 2;

}

else if(str.equalsIgnoreCase("three")) {

result += 3;

}

else if(str.equalsIgnoreCase("four")) {

result += 4;

}

else if(str.equalsIgnoreCase("five")) {

result += 5;

}

else if(str.equalsIgnoreCase("six")) {

result += 6;

}

else if(str.equalsIgnoreCase("seven")) {

result += 7;

}

else if(str.equalsIgnoreCase("eight")) {

result += 8;

}

else if(str.equalsIgnoreCase("nine")) {

result += 9;

}

else if(str.equalsIgnoreCase("ten")) {

result += 10;

}

else if(str.equalsIgnoreCase("eleven")) {

result += 11;

}

else if(str.equalsIgnoreCase("twelve")) {

result += 12;

}

else if(str.equalsIgnoreCase("thirteen")) {

result += 13;

}

else if(str.equalsIgnoreCase("fourteen")) {

result += 14;

}

else if(str.equalsIgnoreCase("fifteen")) {

result += 15;

}

else if(str.equalsIgnoreCase("sixteen")) {

result += 16;

}

else if(str.equalsIgnoreCase("seventeen")) {

result += 17;

}

else if(str.equalsIgnoreCase("eighteen")) {

result += 18;

}

else if(str.equalsIgnoreCase("nineteen")) {

result += 19;

}

else if(str.equalsIgnoreCase("twenty")) {

result += 20;

}

else if(str.equalsIgnoreCase("thirty")) {

result += 30;

}

else if(str.equalsIgnoreCase("forty")) {

result += 40;

}

else if(str.equalsIgnoreCase("fifty")) {

result += 50;

}

else if(str.equalsIgnoreCase("sixty")) {

result += 60;

}

else if(str.equalsIgnoreCase("seventy")) {

result += 70;

}

else if(str.equalsIgnoreCase("eighty")) {

result += 80;

}

else if(str.equalsIgnoreCase("ninety")) {

result += 90;

}

else if(str.equalsIgnoreCase("hundred")) {

result *= 100;

}

else if(str.equalsIgnoreCase("thousand")) {

result *= 1000;

finalResult += result;

result=0;

}

else if(str.equalsIgnoreCase("million")) {

result *= 1000000;

finalResult += result;

result=0;

}

else if(str.equalsIgnoreCase("billion")) {

result *= 1000000000;

finalResult += result;

result=0;

}

else if(str.equalsIgnoreCase("trillion")) {

result *= 1000000000000L;

finalResult += result;

result=0;

}

}

finalResult += result;

result=0;

System.out.println(finalResult);

}

}

标签:java,math,numbers

来源: https://codeday.me/bug/20190929/1829974.html

java 将单词转换为_在Java中将单词转换为数字相关推荐

  1. java 查询转对象_在ElasticSearch中将SearchHit转换为Java对象

    我正在尝试检索数据表单ES查询,我对如何将每次检索到的数据转换为Java对象感到困惑. 到现在为止,我可以使用Gson获取每个JSON格式的命中,但我认为从命中转换为JSON然后转换为Java对象是没 ...

  2. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  3. java背单词页面_简易Web背单词软件 #01# 当前功能

    开发工具 Java作后端(Spring Boot),浏览器作前端. IDE:IntelliJ IDEA 2017.1.1 x64以及HBuilder 软件启动 一,切换到相应目录,通过命令行指令jav ...

  4. java猜单词游戏_序列应用——猜单词游戏

    开发工具:Visual Studio Code 1.游戏介绍 猜单词游戏就是计筧机随机产生一个单词,打乱字母顺序,供玩家去猜测.此游戏采用控制字符界面. 2.程序设计思路 游戏中,可使用序列中的元组存 ...

  5. java实现泛型检索_高级Java泛型:检索泛型类型参数

    java实现泛型检索 在JDK5中引入Java泛型之后, Java泛型Swift成为许多Java程序的组成部分. 但是,乍一看似乎很简单的Java泛型,程序员很快就会迷失此功能. 大多数Java程序员 ...

  6. java语言 编译原理_【Java学习】深入分析Java的编译原理

    在<Java代码的编译与反编译>中,有过关于Java语言的编译和反编译的介绍.我们可以通过javac命令将Java程序的源代码编译成Java字节码,即我们常说的class文件.这是我们通常 ...

  7. java的goto语句_语法 - Java中是否有goto语句?

    语法 - Java中是否有goto语句? 我对此感到困惑. 我们大多数人都被告知Java中没有任何goto语句. 但我发现它是Java中的关键词之一. 哪里可以使用? 如果它不能使用,那么为什么它作为 ...

  8. java表底层生产工具_使用Java工具解决生产故障(一)-jcmd介绍

    1.简介 Java开发的应用程序在线上出现生产故障很常见,通常我们会在开发环境模拟此类故障,但偶尔也会遇到无法成功模拟的故障.那么我们就需要在生产环境上进行分析,定位故障产生原因.JDK1.7版本之后 ...

  9. java是什么格式_是java格式

    错误:编码GBK的不可映射字符的解决办法 最近在重新补javaSE的基础,编辑器编写完代码以后,在控制台运行代码段的时候,出现了以下的错误提示:错误:编码GBK的不可映射字符 在通过查询谷哥和度娘以后 ...

  10. java 开发人员工具_每个Java开发人员都应该知道的10个基本工具

    java 开发人员工具 大家好,我们已经到了2019年的第二个月,我相信你们所有人都已经制定了关于2019年学习以及如何实现这些目标的目标. 我一直在撰写一系列文章,为您提供一些知识,使您可以学习和改 ...

最新文章

  1. numpy.random.uniform()
  2. 大数据产品开发流程规范_华为内部资料流出!揭秘华为数据湖:3大特点、6个标准、入湖流程...
  3. 买了一块烂砖头(《ADO.NET技术内幕》)- 以及今天看砖头的一些感想(技术感想)...
  4. 李彦宏进军生命科学,成立新公司“百图生科”,致力于实现人类百岁健康梦想
  5. 贺利坚老师汇编课程53笔记:寄存器冲突问题解决方案定义子程序标准框架
  6. 你真的弄清楚FocalLoss的细节了吗?
  7. 汇编指令大全及标志位
  8. 课设 stm32的8路电压表采集系统
  9. C语言学习——编程软件安装和使用
  10. 八类网线和七类网线的区别_超6类和7类网线的区别
  11. loj6089 小 Y 的背包计数问题
  12. 程序员需知的 58 个网站,墙裂推荐!
  13. java软件高级工程师证书,分分钟搞定!
  14. visual studio 2013和visual studio 2015下载链接 老版本VS
  15. 【考研英语语法】复杂句的逻辑
  16. 动画专业考一级计算机选什么语种,学校和专业如何选择?学连接32个国家的金牌语种,做国家稀缺的复合型人才!...
  17. python程序员教你用微信给对方定位!你说回家!却还在外面鬼混?
  18. 招商信诺人寿2020年理赔年报启示:重疾保障仍显不足
  19. Codeforces--44A--Indian Summer
  20. Virtualbox 启用USB 设备支持

热门文章

  1. C#连接OleDBConnection数据库的操作
  2. vue3源码详细分析
  3. 1元钱追到大学女友(校花级别)
  4. msp430g2553串口通信_软件串口
  5. android 短信 扣费,偷发扣费短信 手机12306现“山寨”货
  6. GET请求直接传数组给后端,格式会错误
  7. java中一元加号和减号是什么_加号.减号和正号.负号有什么区别
  8. mysql查询同一年入职的_按年份统计入职人数sql语句
  9. 台式计算机电池能充电吗,笔记本电脑能一直插着电源充电吗?为什么?
  10. 如何在论坛或博客等网站里发flash音乐播放器