niithub

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100

输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:
1234567890987654321123456789
输出样例:
yi san wu

============================
第一次code:
 1 import java.util.Scanner;
 2 
 3 public class Main 
 4 { 
 5     public static void main(String[] args) 
 6     { 
 7         Scanner input = new Scanner(System.in);
 8         System.out.println(change(run(input.nextLine())));
 9     }
10         /*
11         *  输入一个字符串
12         *  讲字符串转换成字符串数组
13         *  转换数组中的数据类型,求和
14         *  返回一个int型数据
15          */
16     public static int run(String n)
17     {
18         int s = 0;
19         char[] a = n.toCharArray();
20         for(int i=0;i<a.length;i++)
21         {
22             s += Integer.valueOf(String.valueOf(a[i]));
23         }
24         return s;
25     }
26         /*
27         *  对int型数据进行处理
28         *  先转换成String类型,在转换成char数组
29         *  对char数组中的数据进行判断,分别对应各数字的拼音
30         *  将数组拼接成一个字符串,输出
31         */
32     public static String change(int n)
33     {
34         char[]a=String.valueOf(n).toCharArray();
35         String[]b = {"yi","er","san","si","wu","liu","qi","ba","jiu","ling"};
36         String[]c = new String[a.length];
37         for(int i=0;i<a.length;i++)
38         {
39             switch(Integer.valueOf(String.valueOf(a[i])))
40             {
41                 case 1: c[i]=b[0];break;
42                 case 2: c[i]=b[1];break;
43                 case 3: c[i]=b[2];break;
44                 case 4: c[i]=b[3];break;
45                 case 5: c[i]=b[4];break;
46                 case 6: c[i]=b[5];break;
47                 case 7: c[i]=b[6];break;
48                 case 8: c[i]=b[7];break;
49                 case 9: c[i]=b[8];break;
50                 case 0: c[i]=b[9];break;
51             }
52         }
53         String d="";
54         for(int i=0;i<c.length;i++)
55         {
56             if(i==0)
57             {
58                 d +=c[i];
59             }
60             else
61             {
62                 d +=(" "+c[i]);
63             }
64         }
65         return d;
66     }
67 }
68     


posted on 2016-08-26 15:13  niithub  阅读(163)  评论(0编辑  收藏  举报