返回题解分享
讨论 / 题解分享/ 帖子详情

字符串编号(编程题) - 题解

import java.util.Scanner;

public class Main {


    //1.每次两个数字两个数字地选取
    //2.如果当前数字大于26,就选取上一个数字

    static char[] table = {0, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char[] c = scanner.next().toCharArray();
        StringBuilder res = new StringBuilder();    //使用StringBuilder进行优化
        int n = c.length;
        for (int i = 0; i < n; i++) {
            if(i + 1 == n){
                res.append(table[c[i] - '0']);
                break;
            }
            int big = c[i] - '0';
            int small = c[i + 1] - '0';
            int num = big * 10 + small;

            if (num <= 26) {
                res.append(table[num]);
                i++;
            } else {
                res.append(table[big]);
            }
        }
        System.out.print(res);
    }
}
0 回复 0 转发 1 喜欢 1 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!