PAT题目 java练习题 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
这道题其实比较灵活,是对java基础知识的运用,其中包括了输入输出的运用,字符串与整型变量之间的互相转换,函数split()的运用以及循环结构switch case的运用,这里尤其要注意每个分支需要加break;否则会出现执行多个case语句的情况,
package test;
import java.util.Scanner;
/**
* @Author XuJunliang
* @Date 2021/3/11 21:05
* @Version 1.0
*/
//读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
public class test {
public static void main(String []args)
{
Scanner sc=new Scanner(System.in);
String [] s2;//用来存储字符串中每一个数字
int sum=0;//和
String s1=sc.nextLine();//获取输入字符串数字
s2=s1.split("");//分割字符串
for(int i=0;i< s2.length;i++)
{
sum=sum+Integer.valueOf(s2[i]);
}
String s3=String.valueOf(sum);
String [] s4;
s4= s3.split("");
for(int i=0;i<s4.length;i++)
{
// System.out.println(s4[i]);
switch (s4[i])
{
case "0":
System.out.print("ling");
break;
case "1":
System.out.print("yi");
break;
case "2":
System.out.print("er");
break;
case "3":
System.out.print("san");
break;
case "4":
System.out.print("si");
break;
case "5":
System.out.print("wu");
break;
case "6":
System.out.print("liu");
break;
case "7":
System.out.print("qi");
break;
case "8":
System.out.print("ba");
break;
case "9":
System.out.print("jiu");
break;
}
if(i+1!=s4.length)
{
System.out.print(" ");
}
}
}
}