我必须解决以下问题:
我需要从一个字符中得到一个特定的整数。但不使用ASCII int值。(这很容易)
例如:我知道ASCII中的'A‘是65。但我需要它将值从'A‘设置为1或10或任何东西,而不用ASCII。在这种情况下,字母表中的所有字符都应该是1'A'-26'Z‘之间的值。
我有一些想法,但我认为他们应该像开关(x)论点一样,用26种情况,比如.案例'A':z=1;break;等等(但如果你迭代几次,效率就会降低)。
我知道有一种方法可以解决这个问题而不需要修改.我忘了。但我不知道我需要找什么口号。我不想要一个完整的解决方案,因为它更像是一个小小的暗示或思考的食粮。
谢谢你的回答。
德国的Greetz
发布于 2017-11-23 17:03:24
我建议Map<Character, Integer>。您可以将Integer值赋值给字符,并且始终可以从Map接口使用简单的getValue()方法获得它。
发布于 2017-11-23 17:01:57
您可以尝试使用enum。当为枚举使用构造函数时,可以为每个字母分配所需的值。
public enum Alphabet {
A(1), B(2), C(3), D(4), ... Z(26);
private int _value;
Alphabet(int value) {
_value = value;
}
public int value() {
return _value;
}
}希望这能有所帮助!
发布于 2017-11-23 17:03:58
简单地将所有字母按适当的顺序排列。
class Alphabet {
private final char[] alphabet;
public Alphabet(String letters) {
alphabet = letters.toCharArray();
}
public char letterBy(int number) {
return alphabet[number - 1];
}
public int length() {
return alphabet.length;
}
}如果您将ABC字母放入,您可以通过数字A-1B-2C-3检索它们,在方法letterBy()中,我们会减少编号,因为数组有0的数字。此外,我们有一个方法,返回字母的数量在字母表。
https://stackoverflow.com/questions/47460270
复制相似问题