文章目录

  • 问题 输入一串阿拉伯数组将其转换成汉字数字?
  • 问题分析
    • 阿拉伯数字转换汉字数字分析
    • 汉字数字带技术单位分析
  • 具体代码

问题 输入一串阿拉伯数组将其转换成汉字数字?

问题分析

  • 阿拉伯数字转换汉字数字分析

假如有这么一串数字123456789要转换成汉字怎么转换?
123456789对应汉字是一二三四五六七八九
见到这种一一对应的要很自然想到使用数组实现功能


十进制数字正好对应数组0-9下标和汉字数字

  • 汉字数字带技术单位分析

还是假如有这么一串数字123456789读作一亿二千三百四十五万六千七百八十九
去除汉字数字就是计数单位{ “十”, “百”, “千”, “万”, “十”, “百”, “千”, “亿”}

具体代码

将上面分析的步骤用代码描述出来问题也就迎刃而解了

package com.fern.test;import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;public class Cast {public static void main(String[] args) {System.out.println("请输入一个数:");Scanner sc=new Scanner(System.in);String str=sc.next();//将用户输入的字符串转换成char数组char[]numChar=str.toCharArray();String[] chinese = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };String[] unit = { "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千" };StringBuffer sb=new StringBuffer();//获取用户输入的字符串长度int size=numChar.length;//遍历char数组for (int i = 0; i < numChar.length; i++) {//将用户输入的数字拿出来 //比如用户输入1234数字//numChar['1','2','3','4']//numChar[0]//因此拿到的阿拉伯数字就是num=1int num = Integer.parseInt(String.valueOf(numChar[i]));//因为咱们的汉字和数组下标一一对应,所以可以直接将拿到的阿拉伯数字作为中文数组的下标取汉字//因此这时chinese[1]对应的就是汉字"一"//再就是打印一个汉字数字就加一个单位//通过观察可以找出阿拉伯数字和单位的关系,关系如下//1234长度为4,对应到计数单位数组4索引是”万”单位//1是千单位,以4-1就可以得到计数单位数组的"千”单位//4-1=3|unit[3]拿第一个千//4-2=2|unit[2]拿第二个百//4-3=1|unit[1]拿第三个十if(i!=0){//数组长度-i//上述对应成代码就是 size-i//因为计数单位数组省略了"个”单位//所以需要减去1,取出所有单位//单位+数字|千二百三十四sb.append(unit[size-i-1]+chinese[num]);}else{//这里是第一个数字,第一个数字前面没有计数单位,所以单独拿出处理sb.append(chinese[num]);}}//结果就是一千二百三十四System.out.println(sb);}
}

Java实现阿拉伯数字转换成汉字数字相关推荐

  1. 《读九章算术学Python》如何用Python编程实现阿拉伯数字转换成汉字数字?

    第6章 数量转换 Python编程基础 字典 字符串操作 if-elif-else语句 递归 前面的输入和输出都是阿拉伯数字,这一章我们来看一下如何实现阿拉伯数字和汉字数字之间的相互转换. 6.1 阿 ...

  2. 将阿拉伯数字转换成汉字数字(小写)

    将之前找到的代码加以完善和修改,可以支持亿级别的数字转换,有更好的可以给些建议,谢谢 public static String ToCH(int intInput) {String si = Stri ...

  3. php大写数字转换,PHP将阿拉伯数字转换成汉字大写支持小数点

    PHP将带有小数点的一串阿拉伯数字转换成汉字大写形式,就像转换人民币大写类似.加入了小数点的处理,只要是一连串的数字,不管是否带有小数点,通过本函数都能完美转换. PHP将阿拉伯数字转换成汉字大写支持 ...

  4. python练习题--阿拉伯数字转换成中文数字

    python练习题–阿拉伯数字转换成中文数字 用户输入任意阿拉伯数字,如[123456],把它转换成中文数字[壹拾贰万叁仟肆佰伍拾陆] 以前面试时面试官问的问题,当时没能答出来,今天初步解决,把它记录 ...

  5. win7计算机名改成大写,处置win7系统将word中的阿拉伯数字转换成大写数字的还原方案...

    随着电脑的使用率越来越高,我们有时候可能会遇到对win7系统将word中的阿拉伯数字转换成大写数字进行设置,如果我们需要对win7系统将word中的阿拉伯数字转换成大写数字进行设置时,要怎么处理win ...

  6. 阿拉伯数字转换成大写数字

    本文转载自http://blog.csdn.net/yeah86/article/details/3456706 之前在CSDN论坛里,看有人Show了一些把中文大写转换成阿拉伯数字的程序代码,自己也 ...

  7. php将阿拉伯数字转换成中文大写,PHP将阿拉伯数字转换成汉字大写支持小数点

    第一种 /*function ch_num($num,$mode=true) { $char = array("零","壹","贰",&qu ...

  8. Java实现阿拉伯数字转换成罗马数字

    import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.u ...

  9. 怎样将c语言的字体变中文,请问,在c语言中如何将阿拉伯数字转换成汉字,求代码...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include int main() { int a,b,c,d,e,n,f; while (scanf("%d", &a) ...

  10. 【工具封装】Python 实现将阿拉伯数字 === 转换成中文大写数字

    一.序言:   工具封装第四弹,阿拉伯数字 ===> 转换成 ===> 中文大写数字,喜欢就赶紧收藏+点赞+关注吧 !!! ---- Nick.Peng 二.实现代码如下: #!/usr/ ...

最新文章

  1. PostgreSQL运维实战精讲之“postgresql源码安装”
  2. 说说你对 SVG 理解?
  3. linux版的lcx
  4. 教你怎么快速配置 React
  5. 数据结构和算法:全面的算法代码库
  6. LeetCode:85. 最大矩形
  7. 一层循环时间复杂度_数据结构:二叉排序树的前/中/后序遍历(递归与循环两种版本)...
  8. MVC如何添加Model
  9. Windows下安装Vim插件管理Vundle
  10. 梯度下降和EM算法,kmeans的em推导
  11. IOT(7)---MQTT
  12. 花了10块钱,我在朋友圈成为了富豪...
  13. 27.将 VMware 服务器上的虚拟机备份到 Azure(上)
  14. 火狐浏览器手机版_hao123导航app下载-hao123浏览器手机版下载
  15. Ubuntu下添加打印机---之寻找设备lpinfo
  16. java jxls_java操作excel及jxls(Z)
  17. 状态输出导航栏html,网页导航条代码
  18. 天天向上的力量python代码解释_天天向上的力量 B
  19. 从零搭建SSM框架及所遇到问题
  20. OA项目5:系统管理之岗位管理

热门文章

  1. Windows 10展开速度升级!智慧桌面在科技和资安双重优势
  2. mfc 定时器绘制旋转六边形_OpenGL——旋转的六边形(动画)
  3. linux桌面lxde 安装_Ubuntu下安装LXDE桌面+noVNC直接WEB管理
  4. 2019年Unity学习资源指南[精心整理]
  5. 关于DSP的SCI通信学习
  6. 读书笔记------《平凡的世界》
  7. python聊天室_python聊天室
  8. 车辆管理系统无法连接服务器,智能通道人员车辆管理软件常见问题
  9. Phaser3 点击事件
  10. 耐得住寂寞,才能守得住繁华