在类之间打印布尔值布尔值

xem*_*xem 1 java boolean class object boolean-operations

我对Java比较陌生.我得到了一个赋值,我必须输出一个显示其属性的类的对象,并打开它.对象是一个'粉丝',我可以打印我创建的FAB类的所有属性,除非打开它.这是我的一些代码

public class Fan {
private boolean on = false;

public Fan ( int newSpeed, boolean newOn, double newRadius, String newColor ) {

            setSpeed(newSpeed);    
            setRadius(newRadius);
            setColor(newColor);
            }

            public boolean isOn () { 
            return true;

            }
           public void setOn ( boolean newOn ) {
                    if (on) {
                        on=newOn;


                    } 
                    }
         public String toString ( ) {                
            {
               if (on)
               {
                  return "Fan is Turned on";
               }
               else
               {
                  return "Fan is Turned off";
               }
                  }
                    }
Run Code Online (Sandbox Code Playgroud)

这是粉丝课的对象

public class TestApplication {
public static void main (String[] args) {

    Fan testfan1 = new Fan(5, false, 10, "blue");

    System.out.println(testfan1.getSpeed() + "   " + testfan1.getColor() + " " 
            + testfan1.getRadius() + " " + testfan1.isOn());


 }
}
Run Code Online (Sandbox Code Playgroud)

尝试了很多方法,但我得到输出'true'而不是粉丝打开

rge*_*man 5

我看到一些错误:

您正在使用=运算符在if语句中进行比较.该=操作是Java中的赋值运算符.使用==比较.

if (on == true) 
Run Code Online (Sandbox Code Playgroud)

如果您要比较的是布尔值(这是这里的情况),只提供布尔值:

if (on)
Run Code Online (Sandbox Code Playgroud)

另外,在你的isOn方法中,你总是回来true,我想你想回来on.