B1002 写出这个数 (20分)
思路:先用一个数组存储0-9的汉语拼音,然后因为数字最大是10的100次方,所以用字符串接受输入,然后将字符串的每一位数字累加,再将累加和转化为字符串,遍历每个字符串的每个字符输出相应的拼音,最后一个if判断,如果是最后一位字符,则不再输出空格。
import java.util.Scanner;
public class Main{
public static void main(String[] args)
{
//先用一个数组存储0-9的汉语拼音
String[] str={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
Scanner in=new Scanner(System.in);
String s=in.nextLine();
int sum=0;
for(int i=0;i<s.length();i++)
{
sum+=Integer.parseInt(String.valueOf(s.charAt(i)));//计算累加和
}
String sumS=String.valueOf(sum);//将累加和转化为字符串
for(int j=0;j<sumS.length();j++)
{
int num=Integer.parseInt(String.valueOf(sumS.charAt(j)));
System.out.print(str[num]);//输出数字对应的拼音
if(j<sumS.length()-1)//如果不是最后一个字符,则在输出相应拼音后输出一个空格
{
System.out.print(" ");
}
}
}
}
- String.valueOf(s.charAt(i))将字符转化为字符串
- String.valueOf(sum)将int转化为字符串
- Integer.parseInt()将字符串转化为int