Java程序编写
学校由学生和教员组成,对于学生和教员我们都能做以下的操作:设置学生/教员信息,显示学生/教员信息,添加学生/教员信息,查询学生/教员信息。1、用封装的方法编写一个实体类Person,具有私有属性姓名(name)、性别(sex)、年龄(age),为三个成员属性添加对应的Setter/ Getter方法,一个无参构造方法,一个有参构造方法,用于初始化三个成员属性,一个公有方法showDetail(),用于输出Person的信息。
2、编写教员Teacher类继承自Person类,添加私有属性所属学校(school)、任课课程(course),并添加相应setter/getter方法和无参、有参构造方法(需要用到调用父类构造方法)、showDetail()方法用于输出Teacher的信息。
3、定义接口TeacherDao,包含添加教员信息方法public int addTeacher(Teacher teacher)、通过教员姓名查询教员信息方法public Teacher findTeacher(String name)。
4、定义类TeacherDaoImpl实现接口TeacherDao,此处用数组来存储信息。
采用数组,假设存放10个教员信息。
public class TeacherDaoImpl implements TeacherDao {
Teacher[] tea=new Teacher[10];
public int addTeacher(Teacher teacher) {
for(int i=0;i<10;i++){
……
}
return 0;
}
public Teacher findTeacher(String name) {
for(int i=0;i<10;i++){
……
}
return null;
}
}
5、编写测试类TeacherTest,创建一个Teacher对象,设置相应属性(可用构造方法,或用Setter方法),使用接口的方法添加教员的个人信息(自己的姓名、性别、年龄、常州机电学院、Java程序设计),并查找该信息并输出。
6、查找一个不存在的Teacher对象(李四)时会出现如下异常,请用try/catch对此异常进行处理,当出现此异常时,输出信息“没有找到李四学生的信息”。
答案:public class Person {
private String name;//姓名
private String sex;//性别
private int age;//年龄
//无参构造方法
Person(){
}
//有参构造方法
Person(String name,String sex,int age){
this.name=name;
this.sex=sex;
this.age=age;
}
//姓名set方法
public void setName(String name){
this.name=name;
}
//姓名get方法
public String getName(){
return name;
}
//性别set方法
public void setSex(String sex){
this.sex=sex;
}
//性别get方法
public String getSex(){
return sex;
}
//年龄set方法
public void setAge(int age){
this.age=age;
}
//年龄get方法
public int getAge(){
return age;
}
//输出Person信息
public String showDetall(){
return "姓名:"+name+" 性别:"+sex+" 年龄:"+age;
}
}class Teacher extends Person{
private String school;//学校
private String course;//课程
//无参构造方法
Teacher(){
}
//有参构造方法
Teacher(String n,String s,int a,String school,String course){
super(n, s, a);
this.school=school;
this.course=course;
}
//为学校定义get方法
public String getSchool() {
return school;
}
//为学校定义set方法
public void setSchool(String school) {
this.school = school;
}
//为课程定义get方法
public String getCourse() {
return course;
}
//为课程定义set方法
public void setCourse(String course) {
this.course = course;
}
public String showDetall(){
return super.showDetall()+" 学校:"+school+" 课程:"+course;
}
}
interface TeacherDao {
//定义添加教员方法
public int addTeacher(Teacher teacher);
//定义查找教员方法
public Teacher findTeacher(String name);
}
class TeacherDaoImpl implements TeacherDao {
Teacher tea[]=new Teacher[10];//定义一个可以添加10个人的数组
int add;//数组位置
int add1;//查找数组位置
//实现添加方法
public int addTeacher(Teacher teacher) {
for(int i=0;i<10;i++){
if(tea[i]==null){
tea[i]=teacher;
add++;
break;
}
}
return add;
}
//实现查找方法
public Teacher findTeacher(String name){
//捕获异常
try{
for(int i=0;i<10;i++){
if(tea[i].getName().equals(name)){
break;
}
add=i;
}
}
//处理异常
catch (Exception e) {
System.out.println("没有找到"+name+"的信息");
}
return tea[add1];
}
}
class TeacherTest {
public static void main(String[] args) {
TeacherDaoImpl t2=new TeacherDaoImpl();//引用TeacherDaoImpl对象
Teacher t1=new Teacher();//引用Teacher无参对象
Teacher t3=new Teacher("XXX","X",20,"XX","XXXX");//引用Teacher有参对象
t1.setAge(25);//传入年龄
t1.setCourse("XXX");//传入课程
t1.setName("XXX");传入名字
t1.setSex("XXX");//传入性别
t1.setSchool("XXX");//传入学校
System.out.println(t1.showDetall());//显示信息
System.out.println(t2.addTeacher(t1));//显示数组号
System.out.println(t3.showDetall());//显示信息
System.out.println(t2.addTeacher(t3));//显示数组号
System.out.println(t2.findTeacher("XXXX"));//显示查找结果
}
}
XXX的地方自己写进去吧,大体就这样子了
跪求答案!!!!急的好几B啊!!!!
自己看下。。。
上一个:java学习
下一个:Java安装问题