当前位置: 首页 > news >正文

JAVA学习-练习试用Java实现“Excel表列名称”

问题:

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

例如:

A -> 1

B -> 2

C -> 3

...

Z -> 26

AA -> 27

AB -> 28 

...

示例 1:

输入:columnNumber = 1

输出:"A"

示例 2:

输入:columnNumber = 28

输出:"AB"

示例 3:

输入:columnNumber = 701

输出:"ZY"

示例 4:

输入:columnNumber = 2147483647

输出:"FXSHRXW"

提示:

1 <= columnNumber <= 231 - 1

解答思路:

使用 Java 编写的实现该问题的代码:

class ExcelSheetColumnTitle {public String convertToTitle(int columnNumber) {StringBuilder result = new StringBuilder();while (columnNumber > 0) {char c = (char) ((columnNumber - 1) % 26 + 'A');result.append(c);columnNumber = (columnNumber - 1) / 26;}return result.reverse().toString();}public static void main(String[] args) {ExcelSheetColumnTitle solution = new ExcelSheetColumnTitle();System.out.println(solution.convertToTitle(1)); System.out.println(solution.convertToTitle(28)); System.out.println(solution.convertToTitle(701)); System.out.println(solution.convertToTitle(2147483647)); }}

       该函数的作用是将一个整数转换为 Excel 表格中的列名称。它通过一个循环,不断地取出该整数除以 26 的余数,并将其转换为对应的字母字符,然后将该字母添加到结果字符串中。最后,将结果字符串反转并返回。

(文章为作者在学习java过程中的一些个人体会总结和借鉴,如有不当、错误的地方,请各位大佬批评指正,定当努力改正,如有侵权请联系作者删帖。)

相关文章:

  • Spring AOP:使用Spring AOP进行切面编程的实例,解释不同类型的advice(advice类型)以及何时使用它们
  • Git 学习笔记
  • 国内市场有哪些创意交互性强,重视用户体验的APP/小程序?
  • 821. 字符的最短距离 - 力扣
  • SSL函数01-数组函数Array Functions
  • MySQL——内置函数
  • [STM32-HAL库]ADC采集-DMA中断采集-平均值滤波-STM32CUBEMX开发-HAL库开发系列-主控STM32F103C8T6
  • 吃透那些面试:MongoDb的索引
  • 【MATLAB源码-第84期】基于matlab的802.11a标准的OFDM系统误码仿真对比QPSK,16QAM。
  • Linux网络编程:传输层协议|UDP
  • yolox-何为EMA?
  • JAVA生成随机姓名(小白也能看得懂)
  • IDEA2023.2单击Setting提示报错:Cannot get children Easy Code
  • 【论文解读】A Progress Report: The Alliance for Open Media and the AV1 Codec
  • odoo16版本的render变更
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • const let
  • CSS魔法堂:Absolute Positioning就这个样
  • gcc介绍及安装
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Laravel 实践之路: 数据库迁移与数据填充
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • QQ浏览器x5内核的兼容性问题
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Spring声明式事务管理之一:五大属性分析
  • Vue UI框架库开发介绍
  • 初识MongoDB分片
  • 搭建gitbook 和 访问权限认证
  • 订阅Forge Viewer所有的事件
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 基于axios的vue插件,让http请求更简单
  • 坑!为什么View.startAnimation不起作用?
  • 力扣(LeetCode)22
  • 那些年我们用过的显示性能指标
  • 双管齐下,VMware的容器新战略
  • - 转 Ext2.0 form使用实例
  • 字符串匹配基础上
  • 仓管云——企业云erp功能有哪些?
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #Ubuntu(修改root信息)
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (C++20) consteval立即函数
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (四)React组件、useState、组件样式
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • .NET 5种线程安全集合