【问题标题】:check if string and int entered in constructor检查构造函数中是否输入了字符串和整数
【发布时间】:2021-03-08 06:36:09
【问题描述】:

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

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");
        }
    }
} 

【问题讨论】:

  • 是否需要检查它们是否为空?
  • 你想用email == emailmembershipNumber == membershipNumber做什么?

标签: java bluej


【解决方案1】:

如果没有任何输入,两个变量都将包含默认值(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) 这样的表达式是否足以检查两个值以进行验证。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 2018-09-04
    相关资源
    最近更新 更多