模拟结婚和离婚
来源:互联网 发布:阿里云素材库 编辑:程序博客网 时间:2024/04/27 19:32
public class Person {
private String name;
private int age;
private boolean gender;//性别
private Person partner;// 伴侣, ==》也是一个人,所以它具有Person的所有属性和方法
//使用构造方法完成初始化操作
public Person(){
}
public Person(String name,int age,boolean gender){
this.name = name;
this.age = age;
this.gender = gender;
}
/**
* 结婚
*/
public void marry(Person person){
//1.结婚对象不能为 空
if(person == null){
System.out.println("结婚伴侣不能为空!");
return;
}
//2.不能与自己结婚
if(this==person){
System.out.println("不能与自己结婚!");
return;
}
//3.同性
if(this.gender == person.gender){
System.out.println(this.name + " 与 " + person.name + "都是" + (this.gender?"男":"女") + ",同性不能结婚!");
return;
}
//4.未达到结婚年龄 男<24,女<22
if(judgeAge(this.gender,this.age) == false){
System.out.println(this.name + "没有达到结婚年龄!");
return;
}
if(judgeAge(person.gender,person.age) == false){
System.out.println(person.name + "没有达到结婚年龄!");
return;
}
//5.一方已婚
if(this.partner != null){
System.out.println(this.name + "已婚,不能重婚!");
return;
}
if(person.partner != null){
System.out.println(person.name + "已婚,不能重婚!");
return;
}
//可以结婚
this.partner = person;
person.partner = this;
System.out.println(this.name + " 与 " + person.name + "结婚成功!");
}
//将判断年龄封装成一个方法
private boolean judgeAge(boolean gender,int age){
if(gender == true && age<24){ //男性
return false;
}else if(gender == false && age<22){//女性
return false;
}
return true;
}
/**
* 离婚
*/
public void divorce(Person person){
//1.离婚的伴侣不能为空
if(person == null){
System.out.println("离婚的伴侣不能为空!");
return;
}
//2.不能与自己离婚
if(this == person){
System.out.println("不能与自己离婚!");
return;
}
//3.两个人不是夫妻,不能离婚
if(this.partner != person || person.partner != this){
System.out.println("两个人不是夫妻,不能离婚!");
return;
}
//可以离婚
this.partner = null;
person.partner = null;
System.out.println(this.name + " 与 " + person.name + "离婚成功!");
}
}
0 0
- 模拟结婚和离婚
- 离婚与结婚
- oop 写 结婚 离婚方法
- “我和刘德华直到现在都没离婚”-喻可欣坚称与刘德华已结婚
- 【我和离过婚的男人结婚了:离婚不…
- 结婚前看看,离婚前看看
- 李灿李敏英结婚20天后离婚传因房子闹不和
- 离婚
- 离婚
- 如此求婚和如此离婚
- 自己和自己结婚
- 富二代欲与剑桥学霸离婚:结婚2年找各种理由不同房
- 微评:【民政部:去年1224.7万对夫妻结婚384.1万对夫妻离婚】
- 结婚
- 结婚
- 结婚!
- 结婚
- 结婚
- 交换两个变量值的五种方法及相关解析
- JVM——Java虚拟机架构
- ACM第三期1014
- LeetCode刷题之旅(6)
- 街区最短路径问题
- 模拟结婚和离婚
- Windows如何开启telnet服务
- 安卓Drawable 小技巧以及建议收录1.
- 一点实例明白mysql数据库存储过程
- C语言实现二叉树的递归遍历与非递归遍历
- 廉价DSO Hantek 6022BL说明书上没有的内容
- Codeforces Round #157 (Div. 1) B. Little Elephant and Elections 数位dp
- C#编程.循环的中断
- ElasticSearch 攻略(一)