1. 程式人生 > >PAT-1002 寫出這個數 (20 分)

PAT-1002 寫出這個數 (20 分)

1002 寫出這個數 (20 分)

讀入一個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
輸入格式:
每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這裡保證 n 小於 10
​100
輸出格式:
在一行內輸出 n 的各位數字之和的每一位,拼音數字間有 1 空格,但一行中最後一個拼音數字後沒有空格。
輸入樣例:
1234567890987654321123456789
輸出樣例:
yi san wu

public static void main(String[] args) throws IOException {
       BufferedReader reader=
new BufferedReader(new InputStreamReader(System.in)); String string=reader.readLine(); int sum=0; List<Integer> list=new ArrayList<>(); for (int i = 0; i <string.length(); i++) { sum+=(int)string.charAt(i)-48; } string=sum+""; StringBuilder sb=
new StringBuilder(); for (int i = 0; i <string.length(); i++) { switch (string.charAt(i)){ case '1': sb.append("yi "); break; case '2': sb.append("er "); break; case
'3': sb.append("san "); break; case '4': sb.append("si "); break; case '5': sb.append("wu "); break; case '6': sb.append("liu "); break; case '7': sb.append("qi "); break; case '8': sb.append("ba "); break; case '9': sb.append("jiu "); break; case '0': sb.append("ling "); break; } } System.out.println(sb.substring(0,sb.length()-1)); }