检查构造函数中是否输入了字符串和整数

check if string and int entered in constructor

我正在努力学习 java,但我的代码遇到了一些问题。我正在尝试使用 if 语句来检查是否有任何输入到构造函数中。如果输入了电子邮件字符串 会员编号,则检查登录状态方法应该 return 用户已登录。否则它应该 return他们没有登录。

public class Member
{
    // varibales declaration 
    private String email;  
    private int membershipNumber; 
    private boolean loggedInStatus; 

    /**
     * Constructor for objects of class Member
     */
    public Member(String memberEmail, int newMembershipNumber )
    {
        // initialise instance variables
        email = memberEmail;
        membershipNumber = newMembershipNumber;
    }

    //loggedInStatus method
    public void setloggedInStatus() 
    { 
        if ( email == email && membershipNumber == membershipNumber ) {

            System.out.println("you are logged in ");
        } else {
            System.out.println("you are not logged in");
        }
    }
} 

如果没有任何输入,两个变量都将包含默认值(null 表示字符串,0 表示整数。

您可以检查:

public void setloggedInStatus() {
    if (email != null && membershipNumber != 0) {
        System.out.println("you are logged in ");
    } else {
        System.out.println("you are not logged in");
    }
}

但在您的情况下,如果没有 emailmembershipNumber 的参数,则无法调用构造函数。两者总是有一个值,它们的值可能只是 null0。您必须确定这对您的情况是否有意义,以及像 if (email != null && membershipNumber != 0) 这样的表达式是否足以检查两个值以进行验证。