在类Student中重写Object类的equals方法。使Student对象学号(id)相同时判定为同一对象。
函数接口定义:
在类Student中重写Object类的equals方法。使Student对象学号(id)相同时判定为同一对象。
裁判测试程序样例:
import java.util.Scanner;
class Student {
int id;
String name;
int age;
public Student(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
/* 请在这里填写答案 */
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Student s1 = new Student(sc.nextInt(),sc.next(),sc.nextInt());
Student s2 = new Student(sc.nextInt(),sc.next(),sc.nextInt());
System.out.println(s1.equals(s2));
sc.close();
}
}
输入样例:
1001 Peter 20
1001 Jack 18
输出样例:
true
我的答案
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
Student s1 = new Student(sc.nextInt(),sc.next(),sc.nextInt());
Student s2 = new Student(sc.nextInt(),sc.next(),sc.nextInt());
System.out.println(s1.equals(s2));
sc.close();
}
}
class Student
{
int id;
String name;
int age;
public Student(int id, String name, int age)
{
super();
this.id = id;
this.name = name;
this.age = age;
}
public boolean equals(Object o)
{
if(this==o)//如果具有相同的引用,肯定是同一个人
{
return true;
}
if(o instanceof Student)//如果传入的对象属于Student类
{
Student s=(Student)o;//把传入的对象转换为Student
return this.id==s.id;//id相同则返回true
}
else
{
return false;
}
}
}