将字母映射到数字的最佳方法是什么。使用案例:
'A' -> 1,
'B' -> 2,
'C' -> 3,
.
.
'Z' -> 26
然后又重复
'A' -> 27
'B' -> 28
.
.
'Z' -> 52
再来一次
'A' -> 53
绘制此图的最佳方法是什么?例如说直到数字 100
预期的输出应该是当给出输入“A”时,我需要获取映射到“A”的相应数字的列表。在本例中为 1,27,53 ...
由于我是编程新手,我想到的解决方案是 switch case、枚举等,但我相信有更好的解决方案。我正在使用 Java
最佳答案
您的输入是一个字符
。例如:
char input = 'A';
您可以使用输入 - 'A'
来获取您的字母和 'A' 之间的差异。然后使用 for
循环,每一步增加 26
直到达到 100:
char input = 'A';
for (int i = input - 'A' + 1; i < 100; i += 26) {
System.out.println(i);
}
输出:
1
27
53
79
对于相反的运算,您可以使用模 26(运算符 %
)。模 26 将映射:
- 0、26、52...到 0
- 1、27、53...到 1
- 2、28、54...到 2
等等
这是代码:
int input = 27;
char output = (char)('A' + (input - 1) % 26);
System.out.println(output);
输出:
A
关于java - 将字母映射到数字的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55532046/