1.定义扑克牌类Poker,该类有2个属性,分别为char num(字)和String flower(花) 2.覆盖(重写)Poker类的toString()方法,要求在控制台打印如:梅花3,方块J 3.覆盖(重写)Poker类的equals(Object obj)方法,要求只要两张扑克的num一样,就返回true,num不一样则返回false,与flower无关
时间: 2023-06-11 11:09:40 浏览: 163
poker_v2_V2_poker_
以下是实现上述要求的代码:
```java
public class Poker {
private char num;
private String flower;
public Poker(char num, String flower) {
this.num = num;
this.flower = flower;
}
@Override
public String toString() {
return flower + num;
}
@Override
public boolean equals(Object obj) {
if (obj == null || !(obj instanceof Poker)) {
return false;
}
Poker other = (Poker) obj;
return num == other.num;
}
}
```
在该代码中,我们定义了一个Poker类,包含了一个字和一个花的属性。我们重写了`toString()`方法,让其输出花和字组成的字符串。我们还重写了`equals()`方法,在该方法中,只要两张扑克的num值相同,就判定这两张扑克相等。注意,我们在比较前先判断了传入的对象是否为null,以及是否为Poker类型。这是为了防止传入的对象无法进行类型转换而导致的异常。
阅读全文