首页 分享 宠物结婚 运用OOP思想,使用Java语言编写一个程序,判断两个宠物是否可以结婚。

宠物结婚 运用OOP思想,使用Java语言编写一个程序,判断两个宠物是否可以结婚。

来源:萌宠菠菠乐园 时间:2024-08-19 08:19

定义一个宠物类(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 · 用技术行走在移动互联网时代

关注

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。

扫描二维码下载

相关知识

电子宠物游戏java
Java基于JAVA语言的宠物寄养管理(开题+源码)
用java写的小宠物游戏
java测试类pet
基于java的宠物管理系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
协议结婚协议书通用11篇
宠物交友相亲,结婚市场调研问卷
宠物领养系统设计实现
毕业设计:基于java的宠物管理系统设计与实现
基于JAVA+SpringBoot+微信小程序的宠物领养平台

网址: 宠物结婚 运用OOP思想,使用Java语言编写一个程序,判断两个宠物是否可以结婚。 https://www.mcbbbk.com/newsview79300.html

所属分类:萌宠日常
上一篇: 宠物语言翻译器(动物浏览器,宠物
下一篇: c语言链表宠物4节点

推荐分享