当前位置:编程学习 > JAVA >>

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安装问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,