L1-007. 念数字(Java)PAT团体程序设计天梯赛-练习集

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出“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


import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 定义数组,建立数字与拼音的的对应关系
        String[] date = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"}; 
        String num = scanner.next();

        // 读入数字的字符下标
        int i = 0;
        // 如果读入数字的第一个字符是 '-',则是负数
        if (num.charAt(i) == '-') {
            System.out.print("fu ");
            // 下标右移
            i++;
        }

        // 单个数字读取直到末尾
        while (i < num.length()) {
            // 字符转数字
            int n = num.charAt(i) - '0';    
            // 输出数字对应的字符
            System.out.print(date[n]);
            i++;
            // 最后一个拼音末尾不输出空格
            if (i != num.length()) {
                System.out.print(" ");
            }
        }

    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章