会java的请进,帮解决个小程序

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

class Person{
  String name;
  int age;
  boolean gender;
  boolean isMarry;
  Person partner;
  public Person(){

  }
  public Person(String name,int age,boolean gender,boolean isMarry){
  this.name = name;
  this.age =age;
  this.gender = gender;
  this.isMarry = isMarry;
  }
  public void marry(Person p){
  this.partner = p;
  if(this.gender==partner.gender){
  System.out.println("同性者暂不能结婚");
  return;
  }
  if(this.isMarry==true||partner.isMarry==true){
  System.out.println("有一方都结婚了,你想犯重婚罪?");
  return;
  }
  if(isMaxAge(this)||partner.isMaxAge(partner)){
  return;
  }

  System.out.println("祝你们白头谐老!");

  }
  public boolean isMaxAge(Person p){
  if(this.gender==true){
  if(p.age<24){
  System.out.println("男方的年龄不能小于24岁");
  return true;
  }
  }else