Java 实现Account类
我有一个java文件,其中有一个名为Client的类,我将使用它来存储客户端注册表信息、它们的名称和电子邮件,这将是它们的帐户登录信息。我有点被困在这里了 这是到目前为止我所掌握的一些代码Java 实现Account类,java,Java,我有一个java文件,其中有一个名为Client的类,我将使用它来存储客户端注册表信息、它们的名称和电子邮件,这将是它们的帐户登录信息。我有点被困在这里了 这是到目前为止我所掌握的一些代码 public class ClientAccount { private String name; private String email; /**This intializes an instance of ClientAccount public ClientAccount(String
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我建议您了解使用引用变量访问元素与当前对象的元素之间的区别。