读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:1234567890987654321123456789输出样例:
yi san wu
--------------------------------------------
package text; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner =new Scanner(System.in); String num=scanner.next(); //输入的数字过长,超过了long类型,用string接受 int sum=0; String str=""; for(int i=0;i<num.length();i++){ String a=num.substring(i, i+1); //卡出每一位再转成数字 sum=sum+Integer.parseInt(a); //再求出各位之和 } while(sum!=0){ int i=sum%10; switch(i){ case 0:str="ling "+str;break; //各位之和,转成每一位的拼音显示 case 1:str="yi "+str;break; case 2:str="er "+str;break; case 3:str="san "+str;break; case 4:str="si "+str;break; case 5:str="wu "+str;break; case 6:str="liu "+str;break; case 7:str="qi "+str;break; case 8:str="ba "+str;break; case 9:str="jiu "+str;break; } sum=sum/10; } str=str.substring(0,str.length()-1); //最后一个数字拼音后不能空格 System.out.println(str); } }