第二题【分值30分】
- 存在人类,包含有 姓名 name 年龄 age ,性别gender,包含有工作 work 方法
- 存在男人类,男人的工作是 “赚钱养家”,以及特有的方法 drink 喝酒
- 存在女人类,女人的工作是 “貌美如花”,以及特有的方法 breed 孕育
- 现在存在如下要求:
- 女人的孕育功能当中,需要有男人的参与。
- 女人的孕育年龄必须大于等于20周岁,男人的孕育年龄必须大于等于 22周岁
- 孕育之后,产生的孩子的性别,通过随机数产生。
- 随机数据是奇数则 为男性
- 随机数据是偶数则 为女性。
- 现在要求 小孩的姓名必须和父亲的姓名保持一致。
- 例如:父亲姓是张三
- 那么小孩的姓就是 张
- 小孩的名由当前的星期给出,例如:今日星期五,则叫做 张5
- 如果今天星期六,则叫做 张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());
}
}运行结果

















