我正在尝试编写一段代码来模拟旧键盘上的文本消息。例如,数字2代表字母a、b、c,数字3代表def等。我可以读取字符串并获取字符,但是我正试图开发一种优雅的Java方式来将字符映射到数字。我可以使用Character.compare,但我必须将我的字符与整个字母表进行比较。
我更倾向于使用一个布尔函数,它使用“或”同时比较三个字符。
compareOneTwo = Character.compare(ch[r], 'a'); etc
我更倾向于使用一个布尔函数,它使用“或”同时比较三个字符。
if(ch[r] = 'a'||'b'||'c') {
但是我正在苦苦挣扎 - 想让它工作起来。
我知道这很基础,可能是一个愚蠢的错误,但我们都必须从某个地方开始......
任何帮助将不胜感激。
b
。如果按四次,则获得d
?还是您只需要一种告知键盘上哪个数字对应哪个字母的方式? - Jan Heldchar c = ch[r]; if (c == 'a' || c == 'b' || c == 'c')
可以工作。 - eckes||
必须是一个完整的比较!此外,使用=
而不是==
,你正在将'a'分配给chr[r],而不是将chr[r]处的值与'a'进行比较。无论如何,你不能使用||
或&&
运算符将一个值与多个值进行比较!如果这是C语言,你所做的是“将'a'分配给chr[r],如果结果非零,或'b'的值非零,或'c'的值非零,则执行你的if()
操作。在Java中,零/非零不像C中那样是真/假,Java编译器会显示错误?始终提供问题和错误的基本详细信息,以便人们不必猜测! - clearlight