java 将单词转换为_在Java中将单词转换为数字
我已经看到很多算法,你给它们一个数字说“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中将单词转换为数字相关推荐
- java 查询转对象_在ElasticSearch中将SearchHit转换为Java对象
我正在尝试检索数据表单ES查询,我对如何将每次检索到的数据转换为Java对象感到困惑. 到现在为止,我可以使用Gson获取每个JSON格式的命中,但我认为从命中转换为JSON然后转换为Java对象是没 ...
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- java背单词页面_简易Web背单词软件 #01# 当前功能
开发工具 Java作后端(Spring Boot),浏览器作前端. IDE:IntelliJ IDEA 2017.1.1 x64以及HBuilder 软件启动 一,切换到相应目录,通过命令行指令jav ...
- java猜单词游戏_序列应用——猜单词游戏
开发工具:Visual Studio Code 1.游戏介绍 猜单词游戏就是计筧机随机产生一个单词,打乱字母顺序,供玩家去猜测.此游戏采用控制字符界面. 2.程序设计思路 游戏中,可使用序列中的元组存 ...
- java实现泛型检索_高级Java泛型:检索泛型类型参数
java实现泛型检索 在JDK5中引入Java泛型之后, Java泛型Swift成为许多Java程序的组成部分. 但是,乍一看似乎很简单的Java泛型,程序员很快就会迷失此功能. 大多数Java程序员 ...
- java语言 编译原理_【Java学习】深入分析Java的编译原理
在<Java代码的编译与反编译>中,有过关于Java语言的编译和反编译的介绍.我们可以通过javac命令将Java程序的源代码编译成Java字节码,即我们常说的class文件.这是我们通常 ...
- java的goto语句_语法 - Java中是否有goto语句?
语法 - Java中是否有goto语句? 我对此感到困惑. 我们大多数人都被告知Java中没有任何goto语句. 但我发现它是Java中的关键词之一. 哪里可以使用? 如果它不能使用,那么为什么它作为 ...
- java表底层生产工具_使用Java工具解决生产故障(一)-jcmd介绍
1.简介 Java开发的应用程序在线上出现生产故障很常见,通常我们会在开发环境模拟此类故障,但偶尔也会遇到无法成功模拟的故障.那么我们就需要在生产环境上进行分析,定位故障产生原因.JDK1.7版本之后 ...
- java是什么格式_是java格式
错误:编码GBK的不可映射字符的解决办法 最近在重新补javaSE的基础,编辑器编写完代码以后,在控制台运行代码段的时候,出现了以下的错误提示:错误:编码GBK的不可映射字符 在通过查询谷哥和度娘以后 ...
- java 开发人员工具_每个Java开发人员都应该知道的10个基本工具
java 开发人员工具 大家好,我们已经到了2019年的第二个月,我相信你们所有人都已经制定了关于2019年学习以及如何实现这些目标的目标. 我一直在撰写一系列文章,为您提供一些知识,使您可以学习和改 ...
最新文章
- numpy.random.uniform()
- 大数据产品开发流程规范_华为内部资料流出!揭秘华为数据湖:3大特点、6个标准、入湖流程...
- 买了一块烂砖头(《ADO.NET技术内幕》)- 以及今天看砖头的一些感想(技术感想)...
- 李彦宏进军生命科学,成立新公司“百图生科”,致力于实现人类百岁健康梦想
- 贺利坚老师汇编课程53笔记:寄存器冲突问题解决方案定义子程序标准框架
- 你真的弄清楚FocalLoss的细节了吗?
- 汇编指令大全及标志位
- 课设 stm32的8路电压表采集系统
- C语言学习——编程软件安装和使用
- 八类网线和七类网线的区别_超6类和7类网线的区别
- loj6089 小 Y 的背包计数问题
- 程序员需知的 58 个网站,墙裂推荐!
- java软件高级工程师证书,分分钟搞定!
- visual studio 2013和visual studio 2015下载链接 老版本VS
- 【考研英语语法】复杂句的逻辑
- 动画专业考一级计算机选什么语种,学校和专业如何选择?学连接32个国家的金牌语种,做国家稀缺的复合型人才!...
- python程序员教你用微信给对方定位!你说回家!却还在外面鬼混?
- 招商信诺人寿2020年理赔年报启示:重疾保障仍显不足
- Codeforces--44A--Indian Summer
- Virtualbox 启用USB 设备支持
热门文章
- C#连接OleDBConnection数据库的操作
- vue3源码详细分析
- 1元钱追到大学女友(校花级别)
- msp430g2553串口通信_软件串口
- android 短信 扣费,偷发扣费短信 手机12306现“山寨”货
- GET请求直接传数组给后端,格式会错误
- java中一元加号和减号是什么_加号.减号和正号.负号有什么区别
- mysql查询同一年入职的_按年份统计入职人数sql语句
- 台式计算机电池能充电吗,笔记本电脑能一直插着电源充电吗?为什么?
- 如何在论坛或博客等网站里发flash音乐播放器