我是靠谱客的博主 激情心情,这篇文章主要介绍4-2 jmu-java-m04-Person、Teacher与Student (10分),现在分享给大家,希望可以做个参考。

4-2 jmu-java-m04-Person、Teacher与Student (10分)
该程序包含

Person类:
属性:int id, String name, LocalDate birthDate。注意:定义时需按照顺序从上到下定义。
方法:构造方法(id, name, year, month, dayOfMonth), id与birthDate的getter方法, name的getter/setter方法,Eclipse自动生成的tostring。

Student类继承自Person:
属性:int enrollmentYear, String clazzName。
方法:构造方法(id, name, year, month, dayOfMonth, enrollmentYear, clazzName),建议使用super复用Person的构造函数。toString方法(包含两行,第一行为父类的toString方法,第二行为Student类自身属性的toString方法,具体格式见输出样例)

Teacher类继承自Person:
属性:String department, double salary。
方法:构造方法(id, name, year, month, dayOfMonth, department, salary),建议使用super复用Person的构造函数。toString方法(包含两行,第一行为父类的toString方法,第二行为Teacher类自身属性的toString方法,具体格式见输出样例)

main方法:

public static void main(String[] args) {
String[] types = {“Student”,“Teacher”};
//输入种子seed,并用其初始化Random对象
//输入对象生成数量n
//以下是生成n个对象的循环
//使用random.nextInt(2)从types数组中随机选取元素x并输出
//根据x选择输入相应的参数
//n个对象的"id,name,birthdate"
//输出数组中的每个对象的toString
}

输入格式:
随机数种子seed
产生对象数量n
n行,每行是每个对象的信息信息。
如果要生成Student对象则依次输入:姓名 年 月 日 入学年份 班级
如果要生成Teacher对象则依次输入:姓名 年 月 日 系 薪水

注意:每个对象的id为每次循环的序数,依次从0到n-1

输出格式:
n个对象的类型
n个对象"id,name,birthDate"
n个对象的toString

输入样例:
3
6
Liz 1986 10 10 CS 2000
Tom 1978 5 7 CS 2500.5
Sally 2000 1 3 2018 Net01
Jerry 1988 6 7 Mechanical 1990
Eliza 2001 2 5 2019 Software02
Li 1978 5 7 cs 2400

输出样例:
Teacher
Teacher
Student
Teacher
Student
Teacher
0,Liz,1986-10-10
1,Tom,1978-05-07
2,Sally,2000-01-03
3,Jerry,1988-06-07
4,Eliza,2001-02-05
5,Li,1978-05-07
Person [id=0, name=Liz, birthDate=1986-10-10]
Teacher [department=CS, salary=2000.0]
Person [id=1, name=Tom, birthDate=1978-05-07]
Teacher [department=CS, salary=2500.5]
Person [id=2, name=Sally, birthDate=2000-01-03]
Student [enrollmentYear=2018, clazzName=Net01]
Person [id=3, name=Jerry, birthDate=1988-06-07]
Teacher [department=Mechanical, salary=1990.0]
Person [id=4, name=Eliza, birthDate=2001-02-05]
Student [enrollmentYear=2019, clazzName=Software02]
Person [id=5, name=Li, birthDate=1978-05-07]
Teacher [department=cs, salary=2400.0]

作者
郑如滨
单位
集美大学
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

复制代码
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
135
136
137
import java.util.*; import java.time.LocalDate; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String[] types = {"Student","Teacher"}; int seed=sc.nextInt(); Random r = new Random(seed);//输入种子seed,并用其初始化Random对象 int n=sc.nextInt();//输入对象生成数量n Person[] p = new Person[n]; String[] strr = new String[n]; for(int i=0;i<n;i++)//以下是生成n个对象的循环 { String str =types[r.nextInt(2)]; //使用random.nextInt(2)从types数组中随机选取元素x并输出 strr[i]=str;/// //根据x选择输入相应的参数 if(str.equals("Student")) { String name=sc.next(); int year=sc.nextInt(); int month=sc.nextInt(); int dayOfMonth=sc.nextInt(); int enrollmentYear=sc.nextInt(); String clazzName=sc.next(); Student s = new Student(i,name,year,month,dayOfMonth,enrollmentYear,clazzName); p[i]=s; } else if(str.equals("Teacher")) { String name=sc.next(); int year=sc.nextInt(); int month=sc.nextInt(); int dayOfMonth=sc.nextInt(); String department=sc.next(); double salary=sc.nextDouble(); Teacher t = new Teacher(i,name,year,month,dayOfMonth,department,salary); p[i]=t; } } for(String f:strr) { System.out.println(f); } for(Person x:p) { System.out.println(x.getId()+","+x.getName()+","+x.getBirthDate()); } for(Person x:p) { System.out.println(x); } } } class Person { int id; String name; LocalDate birthDate; int year; int month; int dayOfMonth; public Person(int id,String name,int year,int month,int dayOfMonth) { this.id=id; this.name=name; this.year=year; this.month=month; this.dayOfMonth=dayOfMonth; this.birthDate=LocalDate.of(this.year,this.month,this.dayOfMonth); } public int getId() { return id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public LocalDate getBirthDate() { return birthDate; } public String toString() { return "Person [id=" + id + ", name=" + name + ", birthDate=" + birthDate + "]"; } } class Student extends Person { int enrollmentYear; String clazzName; public Student(int id,String name,int year,int month,int dayOfMonth,int enrollmentYear,String clazzName) { super(id,name,year,month,dayOfMonth);//使用super复用Person的构造函数 this.enrollmentYear=enrollmentYear; this.clazzName=clazzName; } public String toString() { return super.toString()+"n"+ "Student [enrollmentYear="+enrollmentYear+", clazzName="+clazzName+"]"; } } class Teacher extends Person { String department; double salary; public Teacher(int id,String name,int year,int month,int dayOfMonth,String department,double salary) { super(id,name,year,month,dayOfMonth); this.department=department; this.salary=salary; } public String toString() { return super.toString()+"n"+"Teacher [department="+department+", salary="+salary+"]"; } }

最后

以上就是激情心情最近收集整理的关于4-2 jmu-java-m04-Person、Teacher与Student (10分)的全部内容,更多相关4-2内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部