pat1002.写出这个数(20)

读入一个自然数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);
	
		
	}
}
 
 



猜你喜欢

转载自blog.csdn.net/zhzh980/article/details/72724093