gpt4 book ai didi

java - 使用 boolean 方法为名称问题编写我自己的类

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:11:40 26 4
gpt4 key购买 nike

我正在为 College 编写一个类(class),它所要做的就是在名字的最后和中间存储一个名字。它还必须有一些方法,其中之一是“public boolean equals(Name otherName)”

这是我目前的情况

public class Name 
{
private String FirstNM, MiddleNM, LastNM,Name, otherName;
public Name(String first, String middle, String last)
{
FirstNM = first;
MiddleNM = middle;
LastNM = last;
Name = first+middle+last;
}

public String toString()
{
return (FirstNM+", "+MiddleNM+", "+LastNM);
}

public String getFirst()
{
return FirstNM;
}

public String getMiddle()
{
return MiddleNM;
}

public String getLast()
{
return LastNM;
}

public String firstMiddleLast()
{
return (FirstNM+", "+MiddleNM+", "+LastNM);
}

public String lastFirstMiddle()
{
return (LastNM+", "+FirstNM+", "+MiddleNM);
}

public boolean equals(Name otherName)
{
if (otherName.equalsIgnoreCase(Name))
{
return true;
}
}

我在将一个名称对象与另一个名称对象进行比较时遇到问题。这个问题希望我为此使用 equalsIgnoreCase 方法。我似乎无法让它工作。我做错了什么\我能做些什么不同的事情

编辑:让我用书中的确切问题来澄清

  1. 编写一个存储人名、中间名和姓氏的类 Name,并提供以下方法:

· public Name(String first, String middle, String last)——构造函数。名称应按给定的大小写存储;不要转换为全部大写或小写。

· public String getFirst()——返回名字

· public String getMiddle()——返回中间名

· public String getLast()——返回姓氏

· public String firstMiddleLast()——返回一个按顺序包含此人全名的字符串,例如“Mary Jane Smith”。

· public String lastFirstMiddle()——返回一个字符串,其中包含此人的全名,姓在前,后跟一个逗号,例如,“Smith, Mary Jane”。

· public boolean equals(Name otherName)——如果这个名字与otherName相同则返回真。比较不应区分大小写。 (提示:有一个 String 方法 equalsIgnoreCase 就像 String 方法 equals 一样,只是它在进行比较时不考虑大小写。)

最佳答案

你想在 equals 方法中做的是比较类中所有重要的变量。入门指南:

public boolean equals(Name otherName) {
return (this.firstNm.equalsIgnoreCase(otherName.firstNm) && /* rest of variables to compare */)

}

从技术上讲,这应该是接受一个 Object 并进行转换,但是如果你的老师说要接受 Name 那么我想就这样做吧..

重写 equals 应该看起来更像这样:

public boolean equals(Object other) {
if (other == null || ! other instanceof Name) return false;
Name otherName = (Name) other;
return (this.firstNm.equalsIgnoreCase(otherName.firstNm) && /* rest of variables to compare */)
}

关于java - 使用 boolean 方法为名称问题编写我自己的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27162996/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com