Java 作业问题。。。

来源:百度知道 编辑:UC知道 时间:2024/05/29 05:47:57
建立一个类Person,包含以下属性:String name; int age; boolean gender;Person partner。为Person类写一个marry(Person p)方法,代表当前对象和p结婚,如若可以结婚,则输出恭贺信息,否则输出不能结婚原因。要求在另外一个类中写一个主方法,来测试以上程序。(下列情况不能结婚:1,同性;2,未达到结婚年龄,男<24,女<22;3,某一方已婚)

初学,写到 person partner , 知道这个用来表示结婚,但是不会写,也不知道 为什么要用 person 来引用 ,请解释一下

其实partner就是一个属性罢了,如果一个人partner不为空那么就不能再marry()结婚了,不是吗?
下面是我写的 看看吧,或许有帮助~
public class Person {

private String name;
private int age;
private boolean gender;
private Person partner;

public Person(){
super();
}
public Person(String name, int age, boolean gender) {
this.name = name;
this.age = age;
this.gender = gender;
}

public void marry(Person p){
if(partner!=null){
System.out.println("人家已经结婚了(>_<)");
return;
}
if(p.getGender()==getGender()){
System.out.println("不提倡同性恋!");
return ;
}
if(p.getGender()==true&&p.getAge()<24||p.getGender()==false&&p.getAge()<22){
System.out.println(p.getName()+"年龄不到呢");
return ;
}
if(getGender()==true&&getAge()<24||getGender()==false&&getAge()<22){
System.out.println(getName()+"年龄不到呢"