栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java - 168.Excel表列名称

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java - 168.Excel表列名称

1、题目

题目:给你一个整数columnNumber ,返回它在 Excel 表中相对应的列名称。
例如:
    * A -> 1
    * B -> 2
    * C -> 3
    * ...
    * Z -> 26
    * AA -> 27
    * AB -> 28

2、思路

 1、首先这可以理解为一道进制转换题,由十进制转为26进制
 2、需要注意的是该26进制和普通进制不同的是:第一位是1,最后一位是26(而十进制是第一位是0,最后一位是9)
 3、因此只需要把columnNumber每次-1再取余就可以做到余数-1,然后整除26继续循环取余,余数放入char缓冲区
 4、还需注意一个点,得到的余数如果是0代表A,A的ASCII码是65,因此余数+65转为char放入缓冲区
 5、最后反转缓冲区输出成String即可

3、代码
​
class Solution {
    public String convertToTitle(int columnNumber) {
        StringBuilder sb = new StringBuilder();
        while (columnNumber>0){
            columnNumber--;
            sb.append((char)(columnNumber%26 + 65));
            columnNumber/=26;
        }
        sb.reverse();
        return sb.toString();
    }
}

​

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/762926.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号