导航

1002 写出这个数 (20分)java

Posted on 2019-12-29 17:58  风紧扯不扯呼  阅读(140)  评论(0)    收藏  举报

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:

每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10​100​​。

输出格式:

在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:

1234567890987654321123456789

输出样例:

yi san wu

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner s=new Scanner(System.in);
		String str=s.nextLine();
		int l=str.length();
		int num=0;
		for(int i=0;i<l;i++) {
			num=num+(int)str.charAt(i)-48;
		}
		String str1=""+num;
		int len=str1.length();
		for(int i=0;i<len-1;i++) {
			if(str1.charAt(i)=='1') {
				System.out.print("yi"+" ");
			}
			if(str1.charAt(i)=='2') {
				System.out.print("er"+" ");
			}
			if(str1.charAt(i)=='3') {
				System.out.print("san"+" ");
			}
			if(str1.charAt(i)=='4') {
				System.out.print("si"+" ");
			}
			if(str1.charAt(i)=='5') {
				System.out.print("wu"+" ");
			}
			if(str1.charAt(i)=='6') {
				System.out.print("liu"+" ");
			}
			if(str1.charAt(i)=='7') {
				System.out.print("qi"+" ");
			}
			if(str1.charAt(i)=='8') {
				System.out.print("ba"+" ");
			}
			if(str1.charAt(i)=='9') {
				System.out.print("jiu"+" ");
			}
			if(str1.charAt(i)=='0') {
				System.out.print("ling"+" ");
			}
		}
		for(int i=len-1;i<len;i++) {
			if(str1.charAt(i)=='1') {
				System.out.print("yi");
			}
			if(str1.charAt(i)=='2') {
				System.out.print("er");
			}
			if(str1.charAt(i)=='3') {
				System.out.print("san");
			}
			if(str1.charAt(i)=='4') {
				System.out.print("si");
			}
			if(str1.charAt(i)=='5') {
				System.out.print("wu");
			}
			if(str1.charAt(i)=='6') {
				System.out.print("liu");
			}
			if(str1.charAt(i)=='7') {
				System.out.print("qi");
			}
			if(str1.charAt(i)=='8') {
				System.out.print("ba");
			}
			if(str1.charAt(i)=='9') {
				System.out.print("jiu");
			}
			if(str1.charAt(i)=='0') {
				System.out.print("ling");
			}
		}
	}

}