题目是“读入一个数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));
}
}