我试图这样做:
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 (意味着是),那么它将通过{{ 1}} if
为y
的语句;但是如果用户输入 n (意思是没有),那么它会说"感谢使用系统"。
我收到错误"对于参数类型char,boolean",运算符==未定义。
我做错了什么,我该如何解决这个问题?
答案 0 :(得分:5)
y
是boolean
。 'y'
是char
if (first == 'y') {
...
}
答案 1 :(得分:3)
您正在比较不同的数据类型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");