我正在尝试这样做:
System.out.println("Do you want to solve an equation (y/n)?");
char first = In.getChar();
boolean y = true;
boolean n = false;
if(first == y)
System.out.println("Enter a:");
if(first == n)
System.out.println("Thanks");
基本上,我想做的是,如果我要求用户求解方程,并且用户按下y(意味着是),那么它将通过if
语句,其中y
是true
;但是,如果用户输入n(表示不),那么它会说类似"感谢使用该系统"的话。
我得到错误"运算符==对于参数类型char,boolean未定义"。
我做错了什么,我该如何解决?
y
是boolean
。'y'
是char
if (first == 'y') {
...
}
您正在比较不同的数据类型char
和boolean
,Java不知道如何做到这一点。例如,这样做的结果应该是什么?
'a' == false
如果要将char
变量的内容与特定的char
进行比较,请执行以下操作:
char charVar = 'n';
if (charVar == 'y') { // this would return "false", because 'n' is not equal 'y'
//...
}
因此,您可以按如下方式更改代码:
if(first == 'y')
System.out.println("Enter a:");
else if(first == 'n') // use "else if" instead of "if" :)
System.out.println("Thanks");