用java编写一个Person类,定义人的基本属性:name(姓名)、age(年龄)、gender(性别)、partner(配偶)。 要求至少为Person类写一个marry(Person p)方法,来判断两个人是否可以结婚。如果可以结婚,将其partner属性赋值为其配偶。
时间: 2024-05-04 18:19:33 浏览: 241
下面是一个简单的Person类的示例代码:
```java
public class Person {
private String name;
private int age;
private String gender;
private Person partner;
public Person(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getGender() {
return gender;
}
public Person getPartner() {
return partner;
}
public void setPartner(Person partner) {
this.partner = partner;
}
public boolean marry(Person p) {
if (this.gender.equals(p.getGender())) {
// 如果两个人的性别相同,无法结婚
return false;
}
if (this.partner != null || p.getPartner() != null) {
// 如果有一方已经结婚了,无法再次结婚
return false;
}
// 年龄差不能超过10岁
if (Math.abs(this.age - p.getAge()) > 10) {
return false;
}
// 如果以上条件都满足,可以结婚
this.partner = p;
p.setPartner(this);
return true;
}
}
```
在上面的代码中,我们首先定义了Person类的四个属性:姓名、年龄、性别和配偶。其中,姓名、年龄和性别是必需的属性,而配偶是可选的。我们还为每个属性定义了对应的getter和setter方法。
在Person类中,我们实现了一个marry(Person p)方法,用来判断两个人是否可以结婚。如果可以结婚,该方法会将两个人的partner属性设置为对方。在判断是否可以结婚时,我们考虑了以下几个条件:
- 两个人的性别必须不同;
- 两个人中任意一方不能已经结婚;
- 两个人的年龄差不能超过10岁。
如果以上条件都满足,我们就认为两个人可以结婚,并将其partner属性赋值为对方。
阅读全文