Java 实现PAT刷题-1002
package simple;
import java.util.Scanner;
/**
-
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
-
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于10的100次幂
-
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
-
eg:1234567890987654321123456789 yi san wu
*/public class PTA02 { public static void main(String[] args) { int sum = 0; char[] n = new char[101]; Scanner scanner = new Scanner(System.in); String s = scanner.nextLine(); for (int i=0;i<s.length();i++){ n[i] = s.charAt(i); } int i=0,j=0; int[] b =new int[11]; while (n[i] !='\0'){ sum += n[i] -'0'; i++; } if (sum ==0){ letter(0); } else { while (sum!= 0){ b[j] = sum %10; sum/=10; j++; } for (i=j-1;i>0;--i){ letter(b[i]); System.out.print(" "); } } letter(b[0]); } public static void letter(int l){ switch(l){ case 0: System.out.print("ling");break; case 1: System.out.print("yi");break; case 2: System.out.print("er");break; case 3: System.out.print("san");break; case 4: System.out.print("si");break; case 5: System.out.print("wu");break; case 6: System.out.print("liu");break; case 7: System.out.print("qi");break; case 8: System.out.print("ba");break; case 9: System.out.print("jiu");break; } } }