gpt4 book ai didi

java - 将数字转换为字母的程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:46:54 31 4
gpt4 key购买 nike

我正在尝试创建一个执行此操作的程序: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 AA AB AC AD....ZZ AAA AAB AAC

我处理这个问题的方式很难用语言表达,但我会尝试解释

我尝试创建一个以 27 为基数的系统,并让 A 代表 1,B->2 C->3 和 AA->28问题是每 27 个字母我得到一个代表 0 的 @。

我也试过让 A 代表 0 并有一个基数为 26 的系统,但是当我需要它是 AA 时,27 将是 BA

public class aaa 
{
public static void main(String args[])
{
int counter=29;
for(int x=0;x<=counter;x++)
{
int quotient, remainder;
String result="";
quotient=x;

while (quotient>0)
{
remainder=quotient%27;
result = (char)(remainder+64) + result;
quotient = (int)Math.floor(quotient/27);

}
System.out.print(result+ " ");
}
}
}

这会打印出 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 A@ AA AB

我希望程序执行此操作 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 AA AB AC

最佳答案

从 A 到 Z 有 26 个字母。您的系统是 base 26,而不是 27。

您可能想要做的是:

  • x 从 1 开始,而不是 0。您的系统当前将 0 表示为空字符串,这可能会让您失望。

  • 商和余数取模 26,而不是 27。

  • 将 65('A' 的 ASCII 值)加到余数,而不是 64('@' 的 ASCII 值)。

关于java - 将数字转换为字母的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25796592/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com