为方法分配一个新的布尔值?

时间:2015-02-18 07:46:12

标签: java boolean assign

这就是我所拥有的:

public static void main(String[] args){
    Main main = new Main();

    boolean shouldBeTrue = main.shouldBeTrue();
    shouldBeTrue = true;

    System.out.println(shouldBeTrue);       
    System.out.println(main.shouldBeTrue());

}//close main

public boolean shouldBeTrue(){
    return false;
}

它打印:true false

但是我会帮助main.shouldBeTrue() = true; 这不起作用。

我的目标是打印main.shouldBeTrue()并将其打印为true而不是false。

有什么想法吗? 非常感谢你们所有人!

3 个答案:

答案 0 :(得分:0)

 System.out.println(main.shouldBeTrue());

上面的行实际上正在调用shouldBeTrue(),它正在返回false

将布尔变量传递给方法并返回该值。

 public boolean shouldBeTrue(boolean myValue) {
        return myValue;
    }

答案 1 :(得分:0)

要使main.shouldBeTrue()返回true,它返回的引用应该指向值true。

public class Main {
private boolean whatDoIReturn = false;
public static void main(String[] args){
    Main main = new Main();

    Boolean shouldBeTrue = main.shouldBeTrue();
    main.shouldBeTrue( shouldBeTrue = true);

    System.out.println(shouldBeTrue);       
    System.out.println(main.shouldBeTrue());

}//close main

public Boolean shouldBeTrue(){
    return whatDoIReturn;
}

public void shouldBeTrue(boolean value){
    this.whatDoIReturn = value;
}
}

答案 2 :(得分:0)

正如其他人已经提到的那样,你不能为方法赋值!您需要做的是维护一个方法将返回的变量。

class MyClass
{
    private boolean myReturnValue = false; // can be set to either true or false

    public boolean shouldBeTrue()
    {
        return myReturnValue;
    }

    // Use this method to set the return value.
    public void setMyReturnValue( boolean newValue )
    {
        myReturnValue = newValue;
    }

    public static void main( String[] args )
    {
        MyClass myClass = new MyClass();
        System.out.println(myClass.shouldBeTrue()); // this will return false, which is currently the defined value of myReturnValue

        // Now we will change the return value.
        myClass.setMyReturnValue(true);

        System.out.println(myClass.shouldBeTrue()); // Now it will return true.
    }
}