/**
* 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
* <p>
* 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。
* <p>
* 输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
* <p>
* 输入样例:
* 123465564
* 输出样例:
* san liu
* ————————————————
*/
package com.wuzhishan.test;
public class Demo {
String[] str = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};
StringBuilder out = new StringBuilder();
//各位数字之和
public static long fun1(long num) {
int sum = 0;
while (num != 0) {
sum += num % 10;
num = num / 10;
}
return sum;
}
//转换成对应字符串
public String fun2(long sum) {
while (sum != 0) {
//通过StringBuilder的方法,快速将新生成的字符串加到首部
out.insert(0,str[(int) sum % 10] + " ");
sum = sum / 10;
}
return out.toString();
}
public static void main(String[] args) {
Demo demo = new Demo();
System.out.println(demo.fun2(fun1(123465564)));
}
}