正如标题所说,当我输入字符'y'或'Y'时,布尔值应该设置为true但是它存储为false,必须有一些我逻辑上缺少的东西我是不注意?你能明白这是为什么吗?
boolean boot;
char isThereABoot;
void setBoot(boolean x ){
boot = x;
}
boolean getBoot() {
return boot;
}
....
while (isThereABoot != 'y' && isThereABoot != 'Y' && isThereABoot != 'N' && isThereABoot != 'n') {
System.out.println("Does this car have a boot? Y = Yes | N = No");
isThereABoot = entry.next().charAt(0);
if(isThereABoot == 'Y' && isThereABoot == 'y') {
setBoot(true);
}
else if (isThereABoot == 'N' || isThereABoot == 'n') {
setBoot(false);
}
}
然后将该值写入文本文件,该文本文件中的值始终为false。
答案 0 :(得分:0)
表达式
isThereABoot == 'Y' && isThereABoot == 'y'
表示:“变量isThereABoot
是否等于字符'Y'和'y'?”,这绝不是这种情况。它应该是“变量isThereABoot
等于字符'Y'或'y'?”,或代码:
isThereABoot == 'Y' || isThereABoot == 'y'
&&
表示AND
||
表示OR