错误"The operator == is undefined for the argument type(s) char, boolean"



我正在尝试这样做:

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语句,其中ytrue;但是,如果用户输入n(表示不),那么它会说类似"感谢使用该系统"的话。

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

我做错了什么,我该如何解决?

yboolean'y'char

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

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

相关内容

最新更新