错误"运算符==未定义参数类型char,boolean"

时间:2014-11-01 20:11:16

标签: java

我试图这样做:

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}} ify的语句;但是如果用户输入 n (意思是没有),那么它会说"感谢使用系统"。

我收到错误"对于参数类型char,boolean",运算符==未定义。

我做错了什么,我该如何解决这个问题?

2 个答案:

答案 0 :(得分:5)

yboolean'y'char

if (first == 'y') {
  ...
}

答案 1 :(得分:3)

您正在比较不同的数据类型charboolean,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");