zoukankan      html  css  js  c++  java
  • PAT 1002. 写出这个数 (20)

    读入一个自然数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     


  • 相关阅读:
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业02
    C语言II博客作业01
    学期总结
    作业
    C语言I博客作业02
  • 原文地址:https://www.cnblogs.com/niithub/p/5810458.html
Copyright © 2011-2022 走看看