题目是“读入一个数n,计算其各位数字之和,用汉语拼音写出和的每一位数字”,是用c语言实现的。由于我目前正在学习java,所以想用java来实现下。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
package com.nuaa.sg; import java.util.Scanner; /** * 题目是“读入一个数n,计算其各位数字之和,用汉语拼音写出和的每一位数字”,是用c语言实现的。由于我目前正在学习java,所以想用java来实现下。 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。 输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。 * * @author Dell * */ public class Test_1 { public static int getsum(String s) { int sum=0; for(int i=0;i<s.length();i++) { sum=sum+s.charAt(i)-'0'; } return sum; } public static String solution(String s) { if(s==null||s.equals("")) return ""; int sum=getsum(s); String result=""; while(sum!=0) { int k=sum%10; sum=sum/10; String temp=getcorsspond(k); result=temp+" "+result; } return result.trim(); } public static String getcorsspond(int x) { String result=""; switch(x) { case 0: result= "ling"; break; case 1: result = "yi"; break; case 2: result = "er"; break; case 3: result = "san"; break; case 4: result = "si"; break; case 5: result= "wu"; break; case 6: result= "liu"; break; case 7: result = "qi"; break; case 8: result= "ba"; break; case 9: result= "jiu"; break; default: break; } return result; } public static void main(String[] args) { Scanner sc=new Scanner(System.in); String line=sc.nextLine(); System.out.println(solution(line)); } }