0

我对java很陌生。我需要编写一个程序,输入英文文本并根据以下对应关系将其翻译成数字:a 到 0,b 到 1...z 到 26,句点“。” 到 27,逗号“,”到 28,“?” 到29,“(”到30,和“)”到31。我想知道是否可以使用枚举来实现这一点?

4

2 回答 2

3

这不是 Java 特有的。对于计算机而言,字符只是对应于某些代码的数值:ASCII、Unicode 或其他。因此,在大多数编程语言(包括 Java)中,您应该找到将字母视为数字的方法。在 Java 中,您可以在此处使用char原始类型(和对象包装器)。Character

你只需要做一些基本的算术就可以得到你需要的映射。

于 2013-03-16T22:24:04.573 回答
1

你可以做

public static int letterToInt(char ch) {
    return (ch & 31) - 1;
}

如果你有一个特定的字母列表,你可以做

public static int letterToInt(char ch) {
    return "abcdefghijklmnopqrstuvwxyz.,?()".indexOf(ch);
}

将“a”或“A”映射到 0,将“b”或“B”映射到 1,等等。注意:az 是 1 到 26 或 0 到 25。

于 2013-03-16T23:06:33.977 回答