Java字符串指定索引位置多字符匹配的逻辑或使用问题
如何判断字符串指定索引字符是否匹配多个目标值?
你当前的错误在于逻辑或运算符||的使用方式——||两侧必须是完整的布尔表达式,而你写的||('M')里,('M')只是一个字符常量,不是布尔判断,编译器无法识别。
正确的基础写法
把每个判断条件都补全,让||两边都是完整的“字符比较”表达式:
if (myword.charAt(0) == 'H' || myword.charAt(0) == 'M') { System.out.println("True"); } else { System.out.println("False"); }
其他可选优化方案
如果需要匹配的字符较多,可以用更简洁的写法:
- 利用字符串的
indexOf方法判断字符是否在目标集合中:
if ("HM".indexOf(myword.charAt(0)) != -1) { System.out.println("True"); } else { System.out.println("False"); }
- 用switch语句(适合字符数量较多的场景):
switch (myword.charAt(0)) { case 'H': case 'M': System.out.println("True"); break; default: System.out.println("False"); }
你的原始单条件正确代码
if (myword.charAt(0) == 'H') { System.out.println("True"); } else { System.out.println("False"); }
内容的提问来源于stack exchange,提问作者user17273353
相关产品推荐
相关产品推荐

