PAT乙级_1002 写出这个数 (20 分)

118 阅读1分钟

PAT乙级_1002 写出这个数 (20 分)

原题链接

总结:

  1. char类型 - 48 = int类型数.

    例如:0的ASCⅡ码是48,转换成int类型 - 48既为int类型的0

  2. charAt(i)字符串的第i个数

  3. 此题的关键在于输入的字符串和int类型的转换,还有注意最后格式化输出

import java.util.Scanner;
/**
 * @author Lil
 * @date 2021/5/15 15:49
 */

public class Main {
    public static void main(String args[]){
        Scanner in = new Scanner(System.in);
        String s = in.next();
        String[] PY = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};

        int sum = 0;
        for (int i = 0; i < s.length(); i++) {
            sum += s.charAt(i) - 48;
        }

        String s1 = sum + "";
        for (int i = 0; i < s1.length(); i++) {
            if(i != 0)
                System.out.print(" ");//格式化输出,第一个输出前无空格
            System.out.print(PY[s1.charAt(i) - 48]);//输出结果
        }

    }
}