プロが教える店舗&オフィスのセキュリティ対策術

下記の手順でobjectクラスの継承のプログラムを作成したのですが、作成する際に(1)の条件プログラムと(3)のプログラム内容、つまり意味が分かりません。これはどのようなプログラムにしたら一番いいですか?至急連絡をください。

手順
(1)Personオブジェクトの身長と体重の数値が両方とも一致していればtrue、そうでなければfalseをか 
  えすように、equals()をオ ーバーライドする。
(2)main内で、Personクラスのstudent1、student2、student3オブジェクトを用意する。
(3)student1、student2は独立に用意し、同じ数値を代入する。student3にはstudent1を代入する。
(4)student1とstudent2に対してequals()メソッドを適用する。
(5)student1とstudent3に対してequals()メソッドを適用する


結果
student1とstudent2の内容が同じかどうか調べたところtrueでした。
student1とstudent3の内容が同じかどうか調べたところtrueでした。


class Person
{
private double height, weight;

public void inputData(double ht, double wt)
{
height = ht;
weight = wt;
}

public void showData()
{
System.out.println("身長: " + height + "cm, 体重:"+ weight + "kg");
}
}


class K4
{
public static void main(String args[])
{
Person student1 = new Person();
Person student2 = new Person();
Person student3 = new Person();

student3 = student1;

boolean bl1 = student1.equals(student2);
boolean bl2 = student1.equals(student3);

System.out.println("student1とstudent2の内容が同じかどうか調べたところ"+bl1+"でした。");
System.out.println("student1とstudent3の内容が同じかどうか調べたところ"+bl2+"でした。");
}
}

A 回答 (2件)

class Person


{
private double height, weight;

public void inputData(double ht, double wt)
{
height = ht;
weight = wt;
}

public void showData()
{
System.out.println("身長: " + height + "cm, 体重:"+ weight + "kg");
}

@Override
public boolean equals(Object arg0) {
if (arg0 instanceof Person) {
Person otherPerson = (Person) arg0;
return this.height == otherPerson.height && this.weight == otherPerson.weight;
}
return false;
}
}


class K4
{
public static void main(String args[])
{
Person student1 = new Person();
Person student2 = new Person();
Person student3 = new Person();

student3 = student1;

boolean bl1 = student1.equals(student2);
boolean bl2 = student1.equals(student3);

System.out.println("student1とstudent2の内容が同じかどうか調べたところ"+bl1+"でした。");
System.out.println("student1とstudent3の内容が同じかどうか調べたところ"+bl2+"でした。");
}
}
    • good
    • 0

(1)


 Personクラスにequalsメソッドを実装
 trueを返す条件が身長と体重の数値が両方とも一致しているときのみ
 それ以外はfalse

(3)
 ここで言っている数値というのは慎重と体重のこと
 同じ数値を入れるということは(1)の結果がtrueになるという意味
 inputDataメソッドで同じ値を入れてあげればいい
 student3にはstudent1を代入とは、student3=student1;ってこと
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!