发布网友 发布时间:2022-04-24 18:43
共5个回答
热心网友 时间:2023-11-03 06:11
你声明的checkbox变量是boolean类型,但是那个三目运算结果的返回值都是字符串,即是String类型。所以会出现类型不兼容,无法转换的错误。
可以像下面这样修改:
String checkbox;
checkbox = grade > 60 ? "passed" : "failed";
或者是像下面这样修改:
boolean checkbox;
checkbox = grade > 60 ? true : false。
热心网友 时间:2023-11-03 06:11
checkbox变量是boolean类型。第二行的三目运算结果无论是哪一种,返回值都是字符串,就是说返回的是String类型。因此,会出现类型不兼容,无法转换的错误。
可以像下面这样修改:
String checkbox;
checkbox = grade > 60 ? "passed" : "failed";
或者是像下面这样修改:
boolean checkbox;
checkbox = grade > 60 ? true : false;追问感谢感谢
热心网友 时间:2023-11-03 06:12
1、在Java语言中boolean类型的变量只有两种结果:true false
所以 你定义 boolean checkbox 变量只能是满足条件为true,不满足条件为false;
checkbox = grade>60?"passed":"failes";
报错的原因"passed"是String字符串类型 ,不能直接赋值给boolean类的checkbox.
2、解决办法
checkbox = grade>60?true:false;
你明白了吗?
热心网友 时间:2023-11-03 06:12
在这个三目运算中 grade>60 返回的是boolean 你“passed”、“failed”接收 这是字符串
热心网友 时间:2023-11-03 06:13
checkbox是 boolean 类型的, 但是你在三元运算符中给它赋得值是 String 类型的, 类型不匹配