- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这个问题是基于这个线程 Programming Riddle: How might you translate an Excel column name to a number?
这是该问题的代码,用于将列号转换为 Excel 列名
public String getColName (int colNum) {
String res = "";
int quot = colNum;
int rem;
/*1. Subtract one from number.
*2. Save the mod 26 value.
*3. Divide the number by 26, save result.
*4. Convert the remainder to a letter.
*5. Repeat until the number is zero.
*6. Return that bitch...
*/
while(quot > 0)
{
quot = quot - 1;
rem = quot % 26;
quot = quot / 26;
//cast to a char and add to the beginning of the string
//add 97 to convert to the correct ascii number
res = (char)(rem+97) + res;
}
return res;
}
我彻底测试了这段代码,它可以工作,但我有一个问题,即需要重复这一行才能使它工作
quot = quot - 1;
根据我的理解,需要使用 quot 将列编号映射到距“a”的距离。这意味着 1 应该映射到距“a”的 0 距离,2 到距“a”的 1 距离,依此类推。但是你不需要减去这个一次来解释这个吗?不在循环中我的意思是最终,
quot = quot / 26;
将停止循环。
最佳答案
Excel 列不是普通的数字系统。它不仅仅是 base 26。第一个两位数列是“AA”。在任何正常的数字系统中,前两位数由两个不同的数字组成。基本上,在 excel 列编号中,没有“零”数字。
为了解决这种差异,每次迭代都会减去 1。
关于java - 为什么quot需要反复减1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28119064/
我有一个小心理障碍:我有一个 html 中的 javascript 函数,可以在按下某个键时写入键码。我已经将它连接到一个函数,该函数可以准确地告诉我按下了什么字符和键码(不包括在内)。 我的问题是如
我上网已经有一段时间了,现在正试图解决这个问题。可以找到正在发生的事情的视频: https://i.gyazo.com/59fc489b6099b513c41aedeed482b8d2.mp4 $(d
我有一个 Python 程序,其中一个函数导入另一个脚本并运行它。但是脚本仅在第一次函数被调用时运行。 def Open_Generator(事件): 导入密码生成器 有什么建议吗? *该函数在 tk
我正在尝试在 git 中创建两个包含二进制文件的分支 - 一个“开发”分支和一个“稳定”分支。在我想将它们“发布”到稳定分支之前,开发分支可以对这些文件进行一些更改(并且稳定分支已重命名这些文件,以防
我在 IBM BlueMix 中的 Node Red 应用程序反复崩溃 - 每小时一次 - 除了“exited with status: 1.”之外没有任何真正的错误消息 如何解决此问题? 是否有来自
我是一名优秀的程序员,十分优秀!