java基础方法(九)--数字变成汉字

之前做过一个完整的方法,由于电脑被格式了,重新又写了一个,没有以前那个全面。
有些题目要求你在写出一个简单的程序,将“231245”转换成“二十三万一千二百四十五”
一下代码就可以实现,但是并不全面,还有一些东西没有完善。

 1 package com.duduli.li.util;
 2 
 3 import java.util.HashMap;
 4 import java.util.Map;
 5 
 6 public class Convered {
 7     
 8     public void check(){
 9         
10     }
11     
12     public static int[] stringToInt(String s){
13         if(s.length() == 0){
14             System.out.println("please input the number");
15             System.exit(0);
16         }
17         int [] values = new int[s.length()];
18         for(int i=0; i<s.length(); i++){
19             if(!Character.isDigit(s.charAt(i))){
20                 System.out.println("you input has none digt");
21                 System.exit(0);
22             }
23             values[i] = Character.getNumericValue(s.charAt(i));
24 //            System.out.print(values[i]);
25         }
26         return values;
27     }
28     
29     public void conver(String s){
30         Map<Integer, String> unitMap = new HashMap<Integer, String>();
31         unitMap.put(0"");
32         unitMap.put(1"");
33         unitMap.put(2"");
34         unitMap.put(3"");
35         unitMap.put(4"");
36         unitMap.put(5"");
37         unitMap.put(6"");
38         unitMap.put(7"");
39         unitMap.put(8"亿");
40         unitMap.put(9"");
41         unitMap.put(10"");
42         unitMap.put(11"");
43         
44         Map<Integer, String> valueMap = new HashMap<Integer, String>();
45         valueMap.put(1"");
46         valueMap.put(2"");
47         valueMap.put(3"");
48         valueMap.put(4"");
49         valueMap.put(5"");
50         valueMap.put(6"");
51         valueMap.put(7"");
52         valueMap.put(8"");
53         valueMap.put(9"");
54         valueMap.put(0"");
55 
56         int [] money = stringToInt(s);
57         String sb = "";
58         int leg = money.length;
59         for(int i=0; i<leg; i++){
60                 sb += valueMap.get(money[i])+unitMap.get(leg-i-1);
61         }
62         System.out.println(sb);
63     }
64     
65     /**
66      * @param args
67      */
68     public static void main(String[] args) {
69         // TODO Auto-generated method stub
70         Convered c = new Convered();
71         c.conver("5454545");
72     }
73 
74 }
75 

posted on 2010-05-31 10:01 duduli 阅读(2775) 评论(5)  编辑  收藏 所属分类: java

评论

# re: java基础方法(九)--数字变成汉字[未登录] 2010-05-31 21:30 changedi

这个也~~~
输入2010试试??
这种东西还是用分支结构比较好  回复  更多评论   

# re: java基础方法(九)--数字变成汉字 2010-06-02 00:52 Qiao

请问一下 用map的get()方法时 它返回的不是一个位置和一个数值吗?
那传入110 不就变成了(1, "一")(2,百)(1,十)(1, "十")吗?  回复  更多评论   

# re: java基础方法(九)--数字变成汉字 2010-06-04 15:41 风中的梦海

很巧妙...  回复  更多评论   

# re: java基础方法(九)--数字变成汉字 2010-06-04 22:24 18傲骨中文

中文的力量~~~  回复  更多评论   

# re: java基础方法(九)--数字变成汉字 2010-06-13 19:58 53中文网

顶一顶  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2010年5月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

导航

统计

公告

welcome to my place.

常用链接

留言簿(5)

我参与的团队

随笔分类

随笔档案

新闻分类

石头JAVA摆地摊儿

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜

@duduli