java实现将一个键盘输入的阿拉伯数字转化成中文输出
来源:互联网 发布:优酷显示网络连接失败 编辑:程序博客网 时间:2024/05/14 13:44
(例如:输入:1234567 输出:一百二拾三万四千五百六拾七)
用java语言实现,,请编一段程序实现!
public class Reader { private String strNum; private String strNumChFormat; private String strNumTemp; private int intNumLen; private String strBegin; public Reader(String strNum) { this.strNum = strNum; } public boolean check(String strNum) { boolean valid = false; if (strNum.substring(0,1).equals("0")){ this.strNum = strNum.substring(1); } try { new Double(strNum); valid = true; } catch (NumberFormatException ex) { System.out.println("Bad number format!"); } return valid; } public void init() { strNumChFormat = ""; intNumLen = strNum.length(); strNumTemp = strNum; strNumTemp = strNumTemp.replace('1', '一'); strNumTemp = strNumTemp.replace('2', '二'); strNumTemp = strNumTemp.replace('3', '三'); strNumTemp = strNumTemp.replace('4', '四'); strNumTemp = strNumTemp.replace('5', '五'); strNumTemp = strNumTemp.replace('6', '六'); strNumTemp = strNumTemp.replace('7', '七'); strNumTemp = strNumTemp.replace('8', '八'); strNumTemp = strNumTemp.replace('9', '九'); strNumTemp = strNumTemp.replace('0', '零'); strNumTemp = strNumTemp.replace('.', '点'); strBegin = strNumTemp.substring(0, 1); } public String readNum() { if (check(strNum)) { init(); try { for (int i = 1, j = 1, k = 1; i < intNumLen; i++) { if (strNumTemp.charAt(intNumLen - 1) == '零' && i == 1) { strNumChFormat = "位"; } else if (strNumTemp.charAt(intNumLen - i) == '零' && j == 1) { strNumChFormat = "位" + strNumChFormat; } else if (strNumTemp.charAt(intNumLen - i) == '点') { j = 1; k = 1; strNumChFormat = strNumTemp.charAt(intNumLen - i) + strNumChFormat; continue; } else { strNumChFormat = strNumTemp.charAt(intNumLen - i) + strNumChFormat; } if (strNumTemp.charAt(intNumLen - i - 1) != '位' && strNumTemp.charAt(intNumLen - i - 1) != '零') { if (j == 1 && i < intNumLen) { strNumChFormat = '拾' + strNumChFormat; } else if (j == 2 && i < intNumLen) { strNumChFormat = '百' + strNumChFormat; } else if (j == 3 && i < intNumLen) { strNumChFormat = '千' + strNumChFormat; } } if (j == 4 && i < intNumLen) { j = 0; } if (k == 4 && i < intNumLen) { strNumChFormat = '万' + strNumChFormat; } else if (k == 8 && i < intNumLen) { k = 0; strNumChFormat = '亿' + strNumChFormat; } j++; k++; } while (strNumChFormat.indexOf("位") != -1) { strNumChFormat = strNumChFormat.replaceAll("位", " "); } if (strNumChFormat.substring(0, 2) == "一拾") { strNumChFormat = strNumChFormat.substring(1, strNumChFormat.length()); } if (strNumChFormat.indexOf("点") >= 0) { String rebegin = strNumChFormat.substring(0, strNumChFormat.indexOf("点")); String relast = strNumChFormat.substring(strNumChFormat.indexOf("点"), strNumChFormat.length()); for (int i = 1; i <= relast.length(); i++) { relast = relast.replaceAll("拾", ""); relast = relast.replaceAll("百", ""); relast = relast.replaceAll("千", ""); relast = relast.replaceAll("万", ""); relast = relast.replaceAll("亿", ""); } strNumChFormat = rebegin + relast; } } catch (ArrayIndexOutOfBoundsException ex) { ex.printStackTrace(); } catch (Exception ex) { ex.printStackTrace(); } int off = strNumChFormat.indexOf("点"); strNumChFormat = strBegin + strNumChFormat.substring(0); } else { strNumChFormat = ""; } return strNumChFormat; } public static void main(String args[]) { try { String number = args[0].toString(); System.out.println("The number is: " + number); Reader reader = new Reader(number); System.out.println("Output String: " + reader.readNum()); } catch (Exception ex) { System.out.println("Please input like that: javac Reader <number>"); } }}
- java实现将一个键盘输入的阿拉伯数字转化成中文输出
- 将一个键盘输入的数字转化成中文输出
- 将一个键盘输入的数字转化成中文输出。(例如:输入:1234567 输出:一百二拾三万四千五百六拾七)
- 将一个数字转化成中文输出
- 一个将阿拉伯数字转换成中文大写的算法[C#]
- Java实现阿拉伯数字转换成中文大写数字,以及中文大写数字到阿拉伯数字的转换。
- Java实现阿拉伯数字转换成中文大写数字,以及中文大写数字到阿拉伯数字的转换
- 如何将阿拉伯数字转化为中文
- 阿拉伯数字转换成中文输出
- 将阿拉伯数字转化成大写的人民币数字
- 将阿拉伯数字转化成大写的人民币数字
- 将阿拉伯数字转化成大写的人民币数字
- 将阿拉伯数字转化成大写的人民币数字
- 一个将阿拉伯数字转换成中文大写地好算法
- 一个将阿拉伯数字转换成中文大写的好算法【原创】(C#)
- 一个将阿拉伯数字转换成中文大写的最简单算法
- 一个将阿拉伯数字转换成中文大写的好算法(C#)
- 一个将阿拉伯数字转换成中文大写的最简单算法
- 写一段Jdbc连Oracle的程序,并实现数据查询.
- 用jdom解析xml文件时如何解决中文问题?如何解析?
- java.net.SocketTimeoutException: Connection timed out
- 编程用JAVA解析XML的方式.
- 如何校验数字型?
- java实现将一个键盘输入的阿拉伯数字转化成中文输出
- JAVA面试:经典代码查错题
- 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
- 研发的那些事4--2个PM的游戏
- java开发线程篇1:java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
- java开发线程篇3:同步和异步有何异同,在什么情况下分别使用他们?举例说明。
- java开发线程篇4:总结:线程同步的方法。
- org.json.JSONException: End of input at character 0 of
- 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?