题目:
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
代码实现:
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc= new Scanner(System.in);
String s1 = sc.next();
String[] s2 = s1.split("");//将字符串划分成单个字符
int sum=0;
for(int i=0;i<s1.length();i++)
{
sum+=Integer.parseInt(s2[i]);
}
String s3 = String.valueOf(sum);
boolean flag;
String[] s5 = s3.split("");
for(int i=0;i<s5.length;i++)
{
if(i<s5.length-1)
{
flag=true;
shuChuPinYin(s5[i],flag);
}
else
{
flag=false;
shuChuPinYin(s5[i],flag);
}
}
}
private static void shuChuPinYin(String s,boolean flag)
{
String[] s4 = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
if(Integer.parseInt(s)==0)
{
if(flag)
{
System.out.print(s4[0]+" ");
}
else
{
System.out.print(s4[0]);
}
}
else if(Integer.parseInt(s)==1)
{
if(flag)
{
System.out.print(s4[1]+" ");
}
else
{
System.out.print(s4[1]);
}
}
else if(Integer.parseInt(s)==2)
{
if(flag)
{
System.out.print(s4[2]+" ");
}
else
{
System.out.print(s4[2]);
}
}
else if(Integer.parseInt(s)==3)
{
if(flag)
{
System.out.print(s4[3]+" ");
}
else
{
System.out.print(s4[3]);
}
}
else if(Integer.parseInt(s)==4)
{
if(flag)
{
System.out.print(s4[4]+" ");
}
else
{
System.out.print(s4[4]);
}
}
else if(Integer.parseInt(s)==5)
{
if(flag)
{
System.out.print(s4[5]+" ");
}
else
{
System.out.print(s4[5]);
}
}
else if(Integer.parseInt(s)==6)
{
if(flag)
{
System.out.print(s4[6]+" ");
}
else
{
System.out.print(s4[6]);
}
}
else if(Integer.parseInt(s)==7)
{
if(flag)
{
System.out.print(s4[7]+" ");
}
else
{
System.out.print(s4[7]);
}
}
else if(Integer.parseInt(s)==8)
{
if(flag)
{
System.out.print(s4[8]+" ");
}
else
{
System.out.print(s4[8]);
}
}
else if(Integer.parseInt(s)==9)
{
if(flag)
{
System.out.print(s4[9]+" ");
}
else
{
System.out.print(s4[9]);
}
}
}
}