定义一个宠物类(Pet),具有成员属性:名称(name),年龄(age),性别(gender),配偶(partner)。定义一个名为Homework4的类,根据以下条件判... 定义一个宠物类(Pet),具有成员属性:名称(name),年龄(age),性别(gender),
配偶(partner)。
定义一个名为Homework4 的类,根据以下条件判断宠物是否可以结婚。
1、必须是异性,同性不允许结婚。
2、有配偶者不能结婚。
3、要达到结婚年龄方可结婚:雄性满5岁,雌性满4岁。 展开
yinfengnong
2018-01-22 · TA获得超过5618个赞
知道大有可为答主
回答量:2344
采纳率:89%
帮助的人:2199万
关注
具体代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
class Pet {
public static final String Male = "雄";
public static final String Female = "雌";
private String name;
private int age;
private String gender;
private Pet partner;
public Pet(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
if (gender != Male && gender != Female) {
throw new IllegalArgumentException("无效的参数[gender]。");
}
this.gender = gender;
}
public Pet getPartner() {
return partner;
}
public void setPartner(Pet partner) {
this.partner = partner;
}
public boolean isMarriageable() {
if (this.partner != null) {
return false;
}
if ((this.gender == Male && this.age < 5) ||
(this.gender == Female && this.age < 4)) {
return false;
}
return true;
}
public boolean isMarriageableWith(Pet pet) {
if (!this.isMarriageable()) {
return false;
}
if (!pet.isMarriageable()) {
return false;
}
if (this.gender.equals(pet.getGender())) {
return false;
}
return true;
}
public void marry(Pet partner) {
this.setPartner(partner);
partner.setPartner(this);
}
}
public class Homework4 {
public static void main(String[] args) {
Pet p1 = new Pet("小花猫", 5, Pet.Male);
Pet p2 = new Pet("小黑猫", 4, Pet.Female);
boolean result = p1.isMarriageableWith(p2);
System.out.println(result ? "小花猫和小黑猫可以结婚" : "小花猫和小黑猫不可以结婚");
p1.marry(p2);
Pet p3 = new Pet("小白猫", 4, Pet.Female);
result = p3.isMarriageableWith(p1);
System.out.println(result ? "小白猫和小花猫可以结婚" : "小白猫和小花猫不可以结婚");
}
}
尚学堂科技有限公司
2018-01-22 · 百度知道合伙人官方认证企业
尚学堂科技有限公司
北京尚学堂科技有限公司是一家从事JAVA、大数据、web前端、网络在线教育、互联网架构师、Android、ios技术开发、咨询为一体的软件公司。公司由海外留学人员和国内IT人士创建。
向TA提问
关注
Pet类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Pet {
String name;
int age;
char gender;
boolean partner;
public Pet(String name, int age, char gender, boolean partner) {
super();
this.name = name;
this.age = age;
this.gender = gender;
this.partner = partner;
}
}
Homework4:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class Homework4 {
public static void main(String[] args) {
Pet p1 = new Pet("小花", 5, '雄', false);
Pet p2 = new Pet("小白", 6, '雌', false);
if ((p1.partner == false) && (p2.partner == false)) {
if ((p1.gender == '雄' && p1.age > 4) || (p1.gender == '雌' && p1.age > 3)) {
if ((p2.gender == '雄' && p1.age > 4) || (p2.gender == '雌' && p1.age > 3)) {
if (p1.gender != p2.gender) {
System.out.println("可以结婚");
return;
}
}
}
}
System.out.println("不可以结婚");
}
}
本回答被网友采纳
神牛码农
2018-01-22 · 用技术行走在移动互联网时代
关注
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询