第二题【分值30分

  1. 存在人类,包含有 姓名 name 年龄 age ,性别gender,包含有工作 work 方法
  2. 存在男人类,男人的工作是 “赚钱养家”,以及特有的方法 drink 喝酒
  3. 存在女人类,女人的工作是 “貌美如花”,以及特有的方法 breed 孕育
  4. 现在存在如下要求:
  1. 女人的孕育功能当中,需要有男人的参与。
  2. 女人的孕育年龄必须大于等于20周岁,男人的孕育年龄必须大于等于 22周岁
  3. 孕育之后,产生的孩子的性别,通过随机数产生。
  1. 随机数据是奇数则 为男性
  2. 随机数据是偶数则 为女性。
  1. 现在要求 小孩的姓名必须和父亲的姓名保持一致。
  1. 例如:父亲姓是张三
  2. 那么小孩的姓就是 张
  3. 小孩的名由当前的星期给出,例如:今日星期五,则叫做 张5
  4. 如果今天星期六,则叫做 张6。

演示具体的展现过程:(符合要求的情况)

第一步:

请输入男人的姓名和年龄,格式为  张三,23,男

郭靖,26,男

请输入女人的姓名和年龄,格式为  李四,24,女

黄蓉,24,女

第二步:

展示结果如下:

调用男人的方法,分别展示: “赚钱养家” 和 “大口喝酒”

调用女人的方法,分别展示: “貌美如花” 和  “他们小孩是女孩, 姓名是:郭5”

演示具体的展现过程:(出现错误的情况)

第一步:

请输入男人的姓名和年龄,格式为  张三,23,男

老王,56,男

请输入女人的姓名和年龄,格式为  李四,24,女

乔碧罗,18,女

第二步:

展示结果如下:

调用男人的方法,分别展示: “赚钱养家” 和 “大口喝酒”

调用女人的方法,分别展示: “貌美如花” 和  “未符合法定结婚年龄,大侠请等20年”

人类

package Demo02;

public abstract class human {
    private String name;
    private int age;
    private String gender;
    public human(){};
    public human(String name,int age,String gender){
        this.age=age;
        this.gender=gender;
        =name;
    }

    public String getName() {
        return name;
    }

    public void setName(String 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) {
        this.gender = gender;
    }

    public abstract void work();
}

男人类

package Demo02;

public class man extends human{
    @Override
    public void work() {
        System.out.println("赚钱养家");
    }
    public void  drink(){
        System.out.println("大口喝酒");
    }
}

女人类

package Demo02;

import java.util.Calendar;
import java.util.Random;

public class wuman extends human{
    Random random=new Random();
    Calendar calendar=Calendar.getInstance();
    @Override
    public void work() {
        System.out.println("貌美如花");
    }
    public void breed(int ageB,int ageG,String name){
        if (ageB>=22&&ageG>=20){
            char xing=name.charAt(0);
            int ming=calendar.DAY_OF_WEEK-2;
            char sex;
            if (random.nextInt(1)==1){
                sex='男';
            }else{
                sex='女';
            }
            System.out.println("他们的小孩是"+sex+"孩,姓名是:"+xing+ming);
        }else{
            System.out.println("未符合法定结婚年龄,大侠请等20年");
        }
    }
}

 测试类

package work2;


import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入男人信息(格式:张三,23,男)");
        String strman = sc.nextLine();
        System.out.println("请输入女人信息(格式:李四,24,女)");
        String strwoman = sc.nextLine();
        String arr1 [] = strman.split(",");
        String arr2 [] = strwoman.split(",");
        int n1 = Integer.parseInt(arr1[1]);
        int n2 = Integer.parseInt(arr2[1]);
        Man man = new Man();
        man.setName(arr1[0]);
        man.setAge(n1); 
        man.setGender(arr1[2]);
        man.work();
        man.drink();
        Woman woman = new Woman();
        woman.setName(arr2[0]);
        woman.setAge(n2);
        woman.setGender(arr2[2]);
        woman.work();
        woman.breed(man.getAge(),woman.getAge(),man.getName());
    }
}

运行结果

java平均随机分配 java随机分配男女_System