Java报bad operand types for binary operator "=="错误的解决方法
Java char字符比较抛出bad operand types for binary operator错误解决
编写Java代码时,判断从字符串中取出的char字符是否等于"1"时,运行抛出bad operand types for binary operator错误,报错相关代码如下:
import java.util.Scanner; public class Q3 { public static void main (String[] args){ Scanner scan = new Scanner(System.in); System.out.println("Enter any number: "); int num = scan.nextInt(); int length = String.valueOf(num).length(); int reverse = 0; if (length<=3) { while(num != 0) { int remainder = num % 10; reverse = reverse * 10 + remainder; num = num/10; } String word = ""; String numword=String.valueOf(reverse); char character = numword.charAt(0); System.out.println(character=="1");}}}
问题原因及修复方案
- 核心问题是字面量类型不匹配:Java中
""双引号包裹的是String类型,''单引号包裹的才是char类型字面量,char类型无法直接和String类型用==运算符做相等判断 - 修复方式非常简单,只需把比较语句中的双引号替换为单引号即可,修改后的对应代码行:
System.out.println(character == '1');
内容的提问来源于stack exchange,提问作者Ngawang Tobden
相关产品推荐
相关产品推荐

