7-21 念数字 (10 分)
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:
0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu
输入格式:
输入在一行中给出一个整数,如:1234。
提示:整数包括负数、零和正数。
输出格式:
在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si。
输入样例:
-600
输出样例:
fu liu ling ling
Java代码展示
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner n = new Scanner(System.in);
String a=n.nextLine();
String []s=a.split("");
String []p=new String[]{"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
if(s[0].equals("-")) System.out.print("fu");
else{
int A=Integer.parseInt(s[0]);
System.out.print(p[A]);
}
for (int i = 1; i <s.length ; i++) {
int B=Integer.parseInt(s[i]);
System.out.print(" "+p[B]);
}
}
}
注意:
这道题先将输入的字符串分割开,利用数组用for循环判断,避免了定义成整数之后的问题,可以将拼音放到数组里面,利用数组下表和输入数字分割后的数组下标之间的关系完成题目的解答,避免了switch语句。