Java 实现Account类

Java 实现Account类,java,Java,我有一个java文件,其中有一个名为Client的类,我将使用它来存储客户端注册表信息、它们的名称和电子邮件,这将是它们的帐户登录信息。我有点被困在这里了 这是到目前为止我所掌握的一些代码 public class ClientAccount { private String name; private String email; /**This intializes an instance of ClientAccount public ClientAccount(String

我有一个java文件,其中有一个名为Client的类,我将使用它来存储客户端注册表信息、它们的名称和电子邮件,这将是它们的帐户登录信息。我有点被困在这里了

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

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) {

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

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

您需要解析输入字符串以获得单独的名称和电子邮件。如果输入的格式与从
toString()
返回的格式相同,则可以使用
String.split()
。我建议您使用Google查找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;
        }
    }

或者,您也可以在类中重载构造函数,如下所示:

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

   this.name = elements[1];
   this.email = elements[2];
}
…然后在别处执行:
ClientAccount ClientAccount=新的ClientAccount


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

问题是:“我有一个名为Client的类的java文件”我看到的是名为
ClientAccount的类,而不是
Client
。我建议你学会对细节如此挑剔,因为当你试图编程计算机时,它们是无情的文字。@Code pedurent true这是因为在我发布问题mb之前,我同时更改了一些代码。作为将来的参考,你在问问题时应该避免这些类型的不一致。他们经常会浪费时间询问和提供澄清,从而延误他人回答您的问题。如果你的问题一开始就更准确,你可以更快地得到答案,然后继续下一步的工作。我只是不确定我的toString方法是否正确。@Exzlantt你的问题没有提供足够的信息让我判断它是否正确,也可以。我可以为fromString发布javadocmethod@Exzlanttt请随意使用这些详细信息编辑您的问题。您还应该问一个明确的问题,说明您不明白如何做。@Exzlanttt在您的编辑中查看了javadoc之后,我的答案似乎正是您需要做的。如果我想要一个公共字符串getEmail(){,返回值是多少?类似->return clientAccount.email?是的,您需要getter和setter,请参阅上面的内容class@Exzlanttt我建议您了解使用引用变量访问元素与当前对象的元素之间的区别。