Java 如何在类之间传递布尔值并获得所需的输出

Java 如何在类之间传递布尔值并获得所需的输出,java,boolean,Java,Boolean,我有两节课 Hello.java class Hello { private boolean check ; public Hello() { } void display() { if(check == true) { System.out.println("Available"); } else if(check == false) { System.out.pri

我有两节课 Hello.java

class Hello 
{
   private boolean check  ;

public Hello()
{

}

void display()
{
      if(check == true)
      {          
      System.out.println("Available");
      }
      else if(check == false)
      {
          System.out.println("Not Availabe");
      }
}
}
和Main.java

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
boolean check;
                 System.out.println("Is Available(yes/no):");
                String av = sc.nextLine();
                if(av.equals("yes"))
                {
                    check = true;
                }
                else if(av.equals("no"))
                {
                    check = false;
                }

                Hello hello=new Hello();
                hello.display();
            }
    }
我想,如果我输入“是”,然后得到“可用”作为输出,与输入“否”,然后得到“不可用”类似。但是该值必须通过Hello类才能获得输出。
但我每次都会得到“不可用”作为输出。怎么解决呢

通过Hello的构造函数中的检查值

class Hello 
{
   //check in Hello class 
   private boolean check;   //#1
     //constructor will take check as input
    public Hello(boolean check)
    {
         this.check = check
    }

    void display()
    {
          if(check)
          {          
          System.out.println("Available");
          }
          else
          {
              System.out.println("Not Availabe");
          }
    }
}
现在用布尔值创建Hello类的对象

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //this check is different from Hello class check
        //check in Main class
        boolean check;  //#2
        System.out.println("Is Available(yes/no):");
        String av = sc.nextLine();
        if(av.equals("yes"))
        {
            check = true;
        }
        else if(av.equals("no"))
        {
            check = false;
        }

        Hello hello=new Hello(check);
        hello.display();
    }
}

您有两个检查变量(请参见代码#1和#2中的注释)。两者都无关,都是不同的#1是类Hello的实例变量,而C++ 2是主方法的局部变量。只需使用“if(check)”或if(!check)”我只是从问题中复制粘贴的内容。我的重点是在Hello类对象中传递布尔值。现在更新