读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100。
输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
感觉我写得很笨QAQ
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int sum=0;
String str = input.nextLine();
char arr[] = new char[str.length()];
//先转成char
for(int i=0;i<str.length();i++) {
arr[i] = str.charAt(i);
int a = arr[i]-'0';
//再转为int,计算各个数的和
sum =sum+a;
}
String ans = String.valueOf(sum);
char arr1[] = new char [ans.length()];
//再转回char
for(int i=0;i<ans.length();i++) {
arr1[i] = ans.charAt(i);
if(i!=ans.length()-1) {
//最后一位没有空格
if(arr1[i]=='0') {
System.out.print("ling ");
}
if(arr1[i]=='1') {
System.out.print("yi ");
}
if(arr1[i]=='2') {
System.out.print("er ");
}
if(arr1[i]=='3') {
System.out.print("san ");
}
if(arr1[i]=='4') {
System.out.print("si ");
}
if(arr1[i]=='5') {
System.out.print("wu ");
}
if(arr1[i]=='6') {
System.out.print("liu ");
}
if(arr1[i]=='7') {
System.out.print("qi ");
}
if(arr1[i]=='8') {
System.out.print("ba ");
}
if(arr1[i]=='9') {
System.out.print("jiu ");
}
}
if(i==ans.length()-1) {
if(arr1[i]=='0') {
System.out.print("ling");
}
if(arr1[i]=='1') {
System.out.print("yi");
}
if(arr1[i]=='2') {
System.out.print("er");
}
if(arr1[i]=='3') {
System.out.print("san");
}
if(arr1[i]=='4') {
System.out.print("si");
}
if(arr1[i]=='5') {
System.out.print("wu");
}
if(arr1[i]=='6') {
System.out.print("liu");
}
if(arr1[i]=='7') {
System.out.print("qi");
}
if(arr1[i]=='8') {
System.out.print("ba");
}
if(arr1[i]=='9') {
System.out.print("jiu");
}
}
}
}
}