首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Alphabet A设置为特定int值,而不是ASCII值JAVA

将Alphabet A设置为特定int值,而不是ASCII值JAVA
EN

Stack Overflow用户
提问于 2017-11-23 16:52:47
回答 3查看 2.5K关注 0票数 0

我必须解决以下问题:

我需要从一个字符中得到一个特定的整数。但不使用ASCII int值。(这很容易)

例如:我知道ASCII中的'A‘是65。但我需要它将值从'A‘设置为1或10或任何东西,而不用ASCII。在这种情况下,字母表中的所有字符都应该是1'A'-26'Z‘之间的值。

我有一些想法,但我认为他们应该像开关(x)论点一样,用26种情况,比如.案例'A':z=1;break;等等(但如果你迭代几次,效率就会降低)。

我知道有一种方法可以解决这个问题而不需要修改.我忘了。但我不知道我需要找什么口号。我不想要一个完整的解决方案,因为它更像是一个小小的暗示或思考的食粮。

谢谢你的回答。

德国的Greetz

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-23 17:03:24

我建议Map<Character, Integer>。您可以将Integer值赋值给字符,并且始终可以从Map接口使用简单的getValue()方法获得它。

票数 1
EN

Stack Overflow用户

发布于 2017-11-23 17:01:57

您可以尝试使用enum。当为枚举使用构造函数时,可以为每个字母分配所需的值。

代码语言:javascript
复制
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;
    }
}

希望这能有所帮助!

票数 0
EN

Stack Overflow用户

发布于 2017-11-23 17:03:58

简单地将所有字母按适当的顺序排列。

代码语言:javascript
复制
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的数字。此外,我们有一个方法,返回字母的数量在字母表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47460270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档