实现Account类

时间:2016-11-14 23:27:33

标签: java

我有一个名为Client的类的java文件,我将用它来存储客户注册表信息,他们的名字和电子邮件,这将是他们的帐户登录信息。而且我有点卡在这里。

这是我到目前为止的一些代码

public class ClientAccount {

  private String name;
  private String email;
 /**This intializes an instance of ClientAccount
  public ClientAccount(String name, String email) {

    this.name = name;
    this.email = email;
}

这是将返回包含客户名称和电子邮件的字符串的类。

现在我需要一个从字符串创建客户端实例的方法。

    /**
 * Creates an instance of Client from a String.
 * 
 * @param s a String
 * @return an instance of Client
 * @requires s is a string that contains the email address of the client 
 * and its name, separated by a comma (,). The string must contain exactly 
 * one comma.
 * @ensures the returned value c is such that c.getEmail is equal to the 
 * email address specified in s and c.name is equal to the name specified 
 * in s.
 */
public static ClientAccount fromString(String s) {

}

是一个包含客户端电子邮件地址的字符串       和它的名字,用逗号分隔。返回客户端

的实例
public String toString() {
    // TODO
    return this.email+","+this.name;
}

3 个答案:

答案 0 :(得分:0)

您需要解析输入字符串以获取单独的名称和电子邮件。如果输入的格式与从toString()返回的格式相同,则可以使用String.split()。我建议您使用Google查找String类的文档并阅读此方法。要注意的一件事是电子邮件或名称中没有逗号。这不应该是电子邮件的问题,但可能是一个名称,具体取决于它的输入方式。

答案 1 :(得分:0)

您可以使用java.lang.String split方法获取元素(电子邮件和姓名),如下所示:

public static ClientAccount fromString(String s) {
   //split the string using ,
   String[] elements = s.split(",");

   //elements[1] is name
   //elements[0] is email
   ClientAccount clientAccount = new ClientAccount(elements[1], elements[0]);

   return clientAccount;
}

包含getter和setter的ClientAccount类:

public class ClientAccount {

          private String name;
          private String email;

          public ClientAccount(String name, String email) {
            this.name = name;
            this.email = email;
        }

        public String getName() {
            return name;
        }

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

        public String getEmail() {
            return email;
        }

        public void setEmail(String email) {
            this.email = email;
        }
    }

答案 2 :(得分:0)

或者你也可以在你的类中重载构造函数:

public ClientAccount(String s) {
   String[] elements = s.split(",");

   this.name = elements[1];
   this.email = elements[2];
}

......然后在别处做:ClientAccount clientAccount = new ClientAccount(s);

请注意,这个简单版本假设您有一个漂亮的输入字符串。在实际应用程序中,您可能希望在拆分之前进行一些正则表达式模式匹配,以检查字符串是否格式正确(电子邮件+逗号+名称)。