gpt4 book ai didi

java - boolean 字符比较 - 尝试在 Java 中同时比较三个字符

转载 作者:行者123 更新时间:2023-12-02 08:24:41 25 4
gpt4 key购买 nike

我正在尝试编写一段代码来模拟旧键盘上的短信。 2 = a,b,c 3 = def 等

我可以读取字符串并提取字符,但我正在尝试用 Java 开发一种优雅的方式将字符映射到数字。

我可以使用Character.compare。但我必须将我的角色与完整的字母表进行比较。

compareOneTwo = Character.compare(ch[r], 'a'); etc

我宁愿使用一个 Boolean 函数,它使用“或”一次比较三个字符

if(ch[r] = 'a'||'b'||'c') { 

但我正在努力让它发挥作用。

我明白这是基本的,可能是一个愚蠢的错误,但我们都必须从某个地方开始......

任何帮助将不胜感激。

最佳答案

您自己说过,您正在尝试找到一种将字符映射到数字的方法,因此请使用映射!

Map<Character, Integer> characters = new HashMap<>();
characters.put('a', 2);
characters.put('b', 2);
characters.put('c', 2);
characters.put('d', 3);
...
characters.put('z', 0);

Integer number = characters.get('a');
System.out.println(number); // Will print '2'

初始设置需要更多代码,因为您必须指定整个字母表,但将其存储在静态变量中,并且将为整个应用程序完成一次。

这肯定会在速度方面产生最佳性能,并且在内存使用方面,它只有 26 个字符和尽可能多的整数,因此可以忽略不计:)

另一个优点是它很容易更新,如果你需要处理像*这样的新字符,只需在 map 上添加一行就可以了!

关于java - boolean 字符比较 - 尝试在 Java 中同时比较三个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60092807/

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