一、题目解析
原题目:读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
题目解析:以String形式读入n的每一位,存入后使用substring()函数拆分每一位并进行加和。
利用StringBuilder类建立可修改的字符串,利用switch语句把每位数转化为拼音形式添加到字符串后即可
二、代码
代码如下:
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
String s = scanner.next();
int length = s.length();
String substring;
int sum = 0;
for(int i=0;i<length;i++){
substring = s.substring(i,i+1);
int data = Integer.parseInt(substring);
sum+=data;
}
Integer a = Integer.valueOf(sum);
String ss = a.toString();
int nlength = ss.length();
StringBuilder S = new StringBuilder();
for(int i=0;i<nlength;i++){
String p = ss.substring(i,i+1);
switch(p){
case("0"):
S.append("ling");
break;
case("1"):
S.append("yi");
break;
case("2"):
S.append("er");
break;
case("3"):
S.append("san");
break;
case("4"):
S.append("si");
break;
case("5"):
S.append("wu");
break;
case("6"):
S.append("liu");
break;
case("7"):
S.append("qi");
break;
case("8"):
S.append("ba");
break;
case("9"):
S.append("jiu");
break;
default:
break;
}
if(i != nlength-1){
S.append(" ");
}
}
String S1 = S.toString();
System.out.println(S1);
}
}
总结
要注意数据读取以及switch的格式
欢迎大神不吝赐教和批评!