java数字转成中文
来源:互联网 发布:微信商城源码 编辑:程序博客网 时间:2024/06/05 06:11
最近参加校招笔试,又遇到这类题目,每次都考虑不全情况,网上查类似的,好多不全或是大写什么的,自己试着写了一下
java实现的,5位数以内的,目前除了0不行,还没发现其他bug
思路没想太多,应该有更好的,利用栈,逆序来判断数字,再添加多种情况(主要就是零的问题)
10要输出“十” 10->十
数字结尾多个零的省略 100->一百
中间连续几个零只输出一个零 1001->一千零一
正常情况 12345->一万二千三百四十五
import java.util.Scanner;import java.util.Stack;public class Change_num {public static String a(int i)//输出位{if(i==0)return "";else if(i==1)return "十";else if(i==2)return "百";else if(i==3)return "千";else return "万";}public static String b(int j)//输出数字{switch (j) {case 0:return"零";case 1:return"一";case 2:return"二";case 3:return"三";case 4:return"四";case 5:return"五";case 6:return"六";case 7:return"七";case 8:return"八";default:return "九";}}public static void main(String[] args){Stack<Integer> s1 = new Stack<Integer>();Stack<Integer> s2 = new Stack<Integer>();Stack<String> nstr = new Stack<String>();//存放中文数字的栈System.out.println("请输入一个五位以内的数字:");//输入五位数Scanner in=new Scanner(System.in);int num=in.nextInt();in.close();while(num!=0)//逆序放入第一个栈 4,3,2,1{s1.push(num%10);num=num/10;}while(s1.size()!=0)//正序放入第2个栈 1,2,3,4{s2.push((s1.pop()));}int x=s2.size();//记录栈长度//相当于逆序出栈,判断while(s2.size()!=0){int tab=s2.pop();if(x==2&&s2.size()>=1&&s2.peek()==1)//特殊情况,10的{nstr.push("十");break;}else if(tab!=0&&s2.size()>1&&s2.peek()==0)//要输出零的情况,逆序时只有当前一位不为零,下一位为零才出现零{nstr.push(a(x-1-s2.size()));nstr.push(b(tab));nstr.push("零");}else if(tab!=0)//一般情况,不用管0的{nstr.push(a(x-1-s2.size()));nstr.push(b(tab));}}while(nstr.size()!=0)//打印{System.out.print(nstr.pop());}}}
第一次写这个,留着以后方便看
转载请说明
0 0
- java数字转成中文
- java阿拉伯数字转成中文数字
- java中读入数字转成中文读法输出
- Java 数字转成英文
- 用VB把数字转成中文字符串
- 用于将阿拉伯数字转成中文数字
- 把中文表示的数字转成阿拉伯数字
- 中文汉字 转成数字 编码 方法【转】
- [经典]将阿拉伯数字转成中文数字字串和将中文字串转成拉伯数字
- C语言将数字转成大写中文数字
- Java/android 金额 数字转成大写汉子
- leetcode-java.T013_RomarToInteger 罗马数字转成整数数字
- oracle中如何将字符和数字转成中文
- 正则表达式将数字金额转成中文和英文
- JAVA中Unicode如可转成中文?
- java PPT 转成PDF 中文乱码解决
- java 转中文数字
- Java 数字转中文
- 高次方求模
- POJ 3104 Drying
- Java通过POI读写Excel文件
- [cocos2d-x学习笔记][入门基础]Box-2d物理引擎的使用01
- grape API
- java数字转成中文
- 4、Android Activity的生命周期 Activity的生命周期
- 巧妙的位运算及模运算
- Java中浮点数的精度问题
- Hadoop Problem : Wrong FS: hdfs://localhost:9000/output, expected: file:///
- OpenGL ES 2.0 渲染管线
- 【2014.09.16】Android 开发环境的搭建
- leetcode题--Java实现
- PHP CURL访问HTTPS获取HTTPS网页源码的函数