首页 / JAVA / java – 为什么这些重复的案例?
java – 为什么这些重复的案例?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 为什么这些重复的案例?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1080字,纯文字阅读大概需要2分钟。
内容图文
![java – 为什么这些重复的案例?](/upload/InfoBanner/zyjiaocheng/758/0d31ffdb359146b3b5e7bc1d763b0561.jpg)
我正在尝试将用字母写的电话号码转换为真正的数字形式.我在for循环中有这个switch语句,它查看字符串的每个字符,但是eclipse说我有重复的情况(‘G’|’H’|’我’,’J’|’K’|’ L’,’M’|’N’|’O’)我不明白为什么?
switch(parts[1].charAt(i)){
case 'A' | 'B' | 'C' : number.concat("2"); break;
case 'D' | 'E' | 'F' : number.concat("3"); break;
case 'G' | 'H' | 'I' : number.concat("4"); break;
case 'J' | 'K' | 'L' : number.concat("5"); break;
case 'M' | 'N' | 'O' : number.concat("6"); break;
case 'P' | 'Q' | 'R' | 'S' : number.concat("7"); break;
case 'T' | 'U' | 'V' : number.concat("8"); break;
case 'W' | 'X' | 'Y' | 'Z' : number.concat("9"); break;
}
解决方法:
好笑,我想我知道发生了什么.
当你做’A’| ‘B’,您正在对A和B的字节值进行按位OR运算.您的IDE检测到一些结果值是等效的.这绝对不是你想要做的.
你想要的更像是:
case 'A':
case 'B':
case 'C':
number.concat("2");
break;
case 'D':
[...]
等等.
有关详细信息,请参阅http://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html的“SwitchDemo2”.
验证(使用Python):
>>> ord('G') | ord('H') | ord('I')
79
>>> ord('J') | ord('K') | ord('L')
79
内容总结
以上是互联网集市为您收集整理的java – 为什么这些重复的案例?全部内容,希望文章能够帮你解决java – 为什么这些重复的案例?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。