在类Point中重写Object类的equals方法。使Point对象x和y坐标相同时判定为同一对象。
裁判测试程序样例:
import java.util.Scanner;
class Point {
private int xPos, yPos;
public Point(int x, int y) {
xPos = x;
yPos = y;
}
@Override
/* 请在这里填写答案 */
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Object p1 = new Point(sc.nextInt(),sc.nextInt());
Object p2 = new Point(sc.nextInt(),sc.nextInt());
System.out.println(p1.equals(p2));
sc.close();
}
}
输入样例:
10 20
10 20
输出样例:
true
解答:
public boolean equals(Object p){
Point p1 = null;
if(p instanceof Point){
p1 = (Point) p;
}
if(this.xPos == p1.xPos && this.yPos == p1.yPos){
return true;
}
else{
return false;
}
}
方法二:
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || this.getClass() != o.getClass()) return false;
Point point = (Point) o;
return xPos == point.xPos &&
yPos == point.yPos;
}