Java 如何在类之间传递布尔值并获得所需的输出
我有两节课 Hello.javaJava 如何在类之间传递布尔值并获得所需的输出,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
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类对象中传递布尔值。现在更新