PTA:1002 寫出這個數 (java)
阿新 • • 發佈:2018-12-14
package PTA; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Scanner; /* 1002 寫出這個數 (20 分) 讀入一個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。 輸入格式: 每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這裡保證 n 小於 10 100 輸出格式: 在一行內輸出 n 的各位數字之和的每一位,拼音數字間有 1 空格,但一行中最後一個拼音數字後沒有空格。 輸入樣例: 1234567890987654321123456789 輸出樣例: yi san wu */ public class Write_1002 { public static void main(String[] args){ Scanner sc=new Scanner(System.in); String number=sc.next(); HashMap<Integer,String> juge=new HashMap<>(); juge.put(0,"ling"); juge.put(1,"yi"); juge.put(2,"er"); juge.put(3,"san"); juge.put(4,"si"); juge.put(5,"wu"); juge.put(6,"liu"); juge.put(7,"qi"); juge.put(8,"ba"); juge.put(9,"jiu"); int res=0; for (int i = 0; i <number.length() ; i++) { res+=(number.charAt(i)-48); } List<String> ress=new ArrayList<>(); while (res>=10){ int a=res%10; ress.add(juge.get(a)); res/=10; } ress.add(juge.get(res)); for (int i = ress.size()-1; i >0 ; i--) { System.out.print(ress.get(i)+" "); } System.out.print(ress.get(0)); } }