java编程:判断是否可以结婚(同性,男的岁数<20,女的岁数<18,已婚的均不能结婚)

package 第四天;
//判断是否可以结婚(同性,男的岁数<20,女的岁数<18,已婚的均不能结婚)
public class Person {
	
	String name;
	boolean sex;//true:男   false 女
	int age;
	Person partner;//配偶

	public boolean marry(Person p)
	{
		boolean isSuccess = true;//刚开始认为他们可以结婚
		if(this.sex==p.sex)//如果这个的性别和对方的性别一样则不能结婚
		{
			isSuccess=false;
			System.out.println("同性不能结婚");
			return isSuccess;
		}
		
		if((this.sex==true&&this.age<20)||(p.sex==true&&p.age<20))//男的年龄不能小于20岁
		{
			isSuccess=false;
			System.out.println("男的年龄不能小于20岁");
			return isSuccess;
		}
		if((this.sex==false&&this.age<18)||(p.sex==false&&p.age<18))//女的年龄了不能小于20岁
		{
			isSuccess=false;
			System.out.println("女的年龄不能小于18岁");
			return isSuccess;
		}
		if(this.partner!=null||p.partner!=null)//对方如果有配偶也不能结婚
		{
			isSuccess=false;
			System.out.println("已婚的不能再结婚");
			return isSuccess;
		}
		if(isSuccess==true)
		{
			this.partner=p;
			p.partner=this;
			System.out.println("祝你们白头偕老。。。");
			return isSuccess;
		}
		return isSuccess;
	}
	public static void main(String[] args) {
		
		//Person p=new Person("王大炮",true,22,"王小妹");
		Person p1=new Person();//第一个实例对象
		p1.name="王大炮";
		p1.sex=true;
		p1.age=22;
		
		Person p2=new Person();//第二个实例对象
		p2.name="王小妹";
		p2.sex=false;
		p2.age=18;
		
		p1.marry(p2);//调用结婚方法判断是否可以结婚
		
	}

}

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
下面是一个简单的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属性赋值为对方。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绝地反击T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值