帮忙写个类,保证不难。
写一个类Person,包含以下属性:String name; int age; boolean  gender;Person partner。为Person类写一个marry(Person  p)方法,代表当前对象和p结婚,如若可以结婚,则输出恭贺信息,否则输出不能结婚原因。要求在另外一个类中写一个主方法,来测试以上程序。(下列情况不能结婚:1,同性;2,未达到结婚年龄,男<24,女<22;3,某一方已婚)
欢迎大家讨论。
------解决方案--------------------简单如下,有不确切的定方请指教
public class Person{
	private String name;  
	private int age;  
	private boolean  gender;/*true is man */
	private Person partner;
	/* 简单表示一下,这里最好添加一些get ,set 函数来设置一下姓名,性别等*/	
	public void Person(String name,int age,boolean gender,Person partner ){
		this.name=name;
		this.age=age;
		this.gender=gender;
		this.partner=partner;
	}
	public void marry(Person  p){		
		if(this.gender==true&&this.gender!=p.gender&&this.age<24&&p.age<22&&this.partner==null&&p.partner==null)
			System.out.println("恭喜二位可以结婚");	  
		else if(this.gender==false&&this.gender!=p.gender&&this.age<22&&p.age<24&&this.partner==null&&p.partner==null)
		         System.out.println("恭喜二位可以结婚");
		         else System.out.println("很遗憾,你们不能结婚");
	}
}
------解决方案--------------------LS的年龄判断有误
借用LS的代码
class Person{  
   private String name; 
   private int age; 
   private boolean  gender;/*true is man */  
   private Person partner;  
   /* 简单表示一下,这里最好添加一些get ,set 函数来设置一下姓名,性别等*/  
   public void Person(String name,int age,boolean gender,Person partner ){  
       this.name=name;  
       this.age=age; 
       this.gender=gender;  
       this.partner=partner;  
   }  
   public void marry(Person  p){  
       if (this.gerder && p.gender) {
           System.out.println("同性,不能结婚");
           return;
       }  
       if ((this.gender)?(this.age<24 || p.age<22):(this.age<22 || p.age<24)) {
           System.out.println("未达到结婚年龄");
           return;
       }
       if (this.partner!=null || p.partner!=null) {
           System.out.println("某一方已婚");
           return;
       }
       this.partner = p;
       p.partner = this;
       System.out.println("恭喜二位可以结婚");      
   }  
}
public class Test {
   public static void main(String[] args) {
       Person boy = new Persion("boy", 25, true, null);
       Person girl = new Person("girl", 23, false, null);
       boy.marry(girl);
   }
}
------解决方案--------------------public class Person {
	static final boolean man = true,falme =false;
	String name ;
	int age;
	boolean gender;
	Person partener;
	public Person(String n,int a,boolean g,Person p) {
		this.name = n;
		this.age = a;
		this.gender = g;
		this.partener = p;
	}
	public void marry(Person p) {
		if(gender&&p.gender) {
			System.out.println("gender is the same");
			return;
		}else if((age<24)||(p.age)<24) {
			System.out.println("age don't reach");
			return;
		}
		System.out.println("恭喜,恭喜");
	}
	public static void main(String[] args) {
		Person p1 = new Person("张三",16,man,null);
		Person p2 = new Person("李四", 28,falme,p1);
		p2.marry(p1);
	}
}
------解决方案--------------------public class Person {
	String name;
	int age;
	String gender;