【华为OD题库-109】正整数excel编号的转换-java

题目

用过excel的都知道excel的列编号是这样的:

a b c ...z aa ab ac ... az ba bb bc ...yz za zb zc ...Zz aaa aab aac ...分别代表以下编号:

123....26 2728 2. ...52 53 54 5 ...76 67767867....702703704 705 ...请写个函数,完成从一个正整数到这种字符串之间的转换。
输入描述:

一行,一个数字
输出描述:

excel样式的字符串
示例1:
输入∶

1
输出:

a
示例2:
输入∶

26
输出:

z
示例3:
输入:

27
输出:

aa

思路

26进制的转换问题

题解

java 复制代码
package hwod;

import java.util.Scanner;

public class ExcelId {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int k = sc.nextInt();
        System.out.println(excel2Id(k));
    }

    private static String excel2Id(int k) {
        String template = "abcdefghijklmnopqrstuvwxyz";
        StringBuilder sb = new StringBuilder();
        do {
            sb.append(template.charAt((k - 1) % 26));
            k = (k - 1) / 26;
        } while (k > 0);

        return sb.reverse().toString();
    }

}

推荐

如果你对本系列的其他题目感兴趣,可以参考华为OD机试真题及题解(JAVA),查看当前专栏更新的所有题目。

说明

本专栏所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/qq_31076523/article/details/134176793。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

相关推荐
q***71012 小时前
Spring Boot(快速上手)
java·spring boot·后端
better_liang4 小时前
每日Java面试场景题知识点之-分布式事务处理
java·微服务·面试·springcloud·分布式事务
L***d6706 小时前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
凌波粒6 小时前
Springboot基础教程(3)--自动装配原理/静态资源处理/欢迎页
java·spring boot·后端
likuolei6 小时前
XSL-FO 软件
java·开发语言·前端·数据库
凌波粒6 小时前
SpringBoot基础教程(2)--yaml/配置文件注入/数据校验/多环境配置
java·spring boot·后端·spring
S***26756 小时前
Spring Boot环境配置
java·spring boot·后端
6***83057 小时前
什么是Spring Boot 应用开发?
java·spring boot·后端
毕设源码柳学姐7 小时前
计算机毕设 java 智慧社区服务系统 SSM 框架社区生活平台 Java 开发的便民服务与互动系统
java·开发语言·生活
U***l8327 小时前
【postgresql】分区表管理
java·数据库·postgresql