PAT2001测试点一过不去,有哪位看看这是什么问题

这是题目

img


这是测试截图

img


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        //inputNum读取输入的数字
        String inputNum = sc.nextLine();

        //recordNum记录输入数据的每个数字
        int[] recordNum = new int[100];

        //将字符串中的每个数字存储再recorNum中,并将字符转化为整数
        for (int i = 0; i < inputNum.length(); i++) {
            recordNum[i] = inputNum.charAt(i)-'0';
        }
        //sum是各位数字之和
        int sum =0;
        for (int i = 0; i < recordNum.length; i++) {
            sum += recordNum[i];
        }

        //sumSplit记录sum拆分后的各位数据
        int[] sumSplit = new int[100];
        for (int i = 0; sum >= 1; i++) {
            sumSplit[i] = sum % 10;
            sum /= 10;
        }

        //strPrint记录需要输出对应数字的拼音
        String[] strPrint = new String[100];
        //记录strPrinr的有效长度
        int temp = 0;
        for (int i = 0; sumSplit[i] != 0; i++) {
            switch (sumSplit[i]) {
                case 0:
                    strPrint[i] = "ling";
                    break;
                case 1:
                    strPrint[i] = "yi";
                    break;
                case 2:
                    strPrint[i] = "er";
                    break;
                case 3:
                    strPrint[i] = "san";
                    break;
                case 4:
                    strPrint[i] = "si";
                    break;
                case 5:
                    strPrint[i] = "wu";
                    break;
                case 6:
                    strPrint[i] = "liu";
                    break;
                case 7:
                    strPrint[i] = "qi";
                    break;
                case 8:
                    strPrint[i] = "ba";
                    break;
                default:
                    strPrint[i] = "jiu";
                    break;
            }
            temp += 1;
        }
        for (int i = temp-1;i >= 0;i--){
            if (i != 0){
                System.out.print(strPrint[i]+" ");
            }else {
                System.out.println(strPrint[i]);
            }
        }
    }
}

错误提示有提示一些信息吗,一般逻辑没问题,就是一些临界值,范围控制问题。

输出要求结尾无空行,那么你输出最后一个值得时候,不应该用println,这会产生一个新行的