如何在 java 中将布尔值与构造函数一起使用?

How to use boolean with constructor in java?

我们有一个 activity 可以存储和显示员工的信息。 我已经创建了名为 Person 的无修饰符 class 和名为 Employee 的 public class,这是主要方法。我的问题是我不知道如何在 class Person 中生成布尔值,它将在扫描仪的主要方法中使用。

 class Person {

 private String name;
 private int contactNum;
 private boolean status;
 public boolean isRegular;

public String getName(){
    return name;
}
public int getContactNum(){
    return contactNum;
}
public void setName(String name){
    this.name=name;
}
public void setContactNum(int contactNum){
     this.contactNum=contactNum;

//how to make the boolean of status and isRegular?
}

}

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Person P = new Person();

    System.out.println("Type employee's name, contact number");
    System.out.println("Press Enter after every input");
    P.setName(input.nextLine());
    P.setContactNum(input.nextInt());
    
    System.out.println("Press Y if employee is regular or N if not");
    //how to use boolean here that comes from the class Person?

    System.out.println("Name: "+ P.getName());
    System.out.println("Contact Number: "+ P.getContactNum());
    System.out.println("Status:" + this is where the user is ask to Press Y if employee is regular or N if not )//the status is if the employee is regular or not.
    

我对您的代码的建议:

System.out.println("Press Y if employee is regular or any other key if not");
P.setRegular(input.nextLine().equalsIgnoreCase("Y"));

你的构造函数

public class Person {
    private String name;
    private int contactNum;
    private boolean status;
    private boolean isRegular;

    //No arg constructor
    public Person() {
    }

    //Full arg constructor
    public Person(String name, int contactNum, boolean status, boolean isRegular) {
        this.name = name;
        this.contactNum = contactNum;
        this.status = status;
        this.isRegular = isRegular;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getContactNum() {
        return contactNum;
    }

    public void setContactNum(int contactNum) {
        this.contactNum = contactNum;
    }

    public boolean isStatus() {
        return status;
    }

    public void setStatus(boolean status) {
        this.status = status;
    }

    public boolean isRegular() {
        return isRegular;
    }

    public void setRegular(boolean regular) {
        isRegular = regular;
    }
}

编辑 我注意到上面代码中的一个错误并修复了它。这一行应该是:

P.setRegular(input.next().equalsIgnoreCase("Y"));

您可以像打印任何其他 Java 原语一样打印布尔值。 `

System.out.println("Status:" + P.isRegular());

将打印 Status: trueStatus: false.

如果你想让它打印 Status: YesStatus: No,你可以这样做:

System.out.println("Status: ".concat((P.isRegular())?("Yes"):("No")));