1、设计一个用户类,该类有编号、姓名、性别属性,另外有一个教师类,继承用户类,教师类里具有属性教龄,方法上课,编写程序实现以上过程,并写出测试代码。(50分)
用户类(User):
属性:userID、userName、sex
教师类(Teacher):extends User
属性:teachingAge
方法:public String goClass()//学生上课方法
测试类(Test)://查询所有教师的姓名
public static  List getAllUserName(List teachers){
//补全代码
}
//更新给定编号的教师姓名
public static  List updateUserById(List teachers,String id){
//补全代码
}public static void main(String args[]){//部分代码
Teacher user1=new Teacher (*,*,*,*);
Teacher user2=new Teacher (*,*,*,*);
 …………
//把用户加到动态数组中,请补全代码//调用方法getAllUserName( ),请补全代码
//调用方法updateUserById( ),请补全代码}
}

解决方案 »

  1.   

    不明确.
    //查询所有教师的姓名
    for(Teacher teacher:teachers){
      System.out.println(teacher.getUserName());
    }
    //更新给定编号的教师姓名
    for(int i = 0; i < teachers.size(); i++){
      if(id != null && id.equals(teachers.get(i).getId())){
        //更新操作
        teachers.get(i).setUserName("张老师");
      }
    }//把用户加到动态数组中
    CopyOnWriteArrayList<Teacher> teachers = new CopyOnWriteArrayList<>();
    teachers.add(对象);
    teachers.add(对象2);
    ...//调用方法getAllUserName( )
    Teacher.getAllUserName(); // 静态方法 直接类名
    //调用方法updateUserById( )
    同上
      

  2.   


    public class User {
    private String userID,userName,sex; /**
     * @param userID
     * @param userName
     * @param sex
     */
    public User(String userID, String userName, String sex) {
    super();
    this.userID = userID;
    this.userName = userName;
    this.sex = sex;
    } public String getUserID() {
    return userID;
    } public void setUserID(String userID) {
    this.userID = userID;
    } public String getUserName() {
    return userName;
    } public void setUserName(String userName) {
    this.userName = userName;
    } public String getSex() {
    return sex;
    } public void setSex(String sex) {
    this.sex = sex;
    } @Override
    public String toString() {
    return "User [userID=" + userID + ", userName=" + userName + ", sex=" + sex + "]";
    }
    }
    public class Teacher extends User {
    private String teachingAge; /**
     * @param userID
     * @param userName
     * @param sex
     * @param teachingAge
     */
    public Teacher(String userID, String userName, String sex, String teachingAge) {
    super(userID, userName, sex);
    this.teachingAge = teachingAge;
    } public String getTeachingAge() {
    return teachingAge;
    } public void setTeachingAge(String teachingAge) {
    this.teachingAge = teachingAge;
    }

    public String goClass() {
    return "Internet";
    } @Override
    public String toString() {
    return "{userID=" + getUserID() + ", userName=" + getUserName() + ", sex=" + getSex() +", teachingAge=" + teachingAge+"}" ;
    }}
    import java.util.ArrayList;
    import java.util.List;public class Test { public static void main(String[] args) {
    // TODO Auto-generated method stub
    Teacher user1=new Teacher("1", "zhangsan", "nan", "12");
    Teacher user2=new Teacher("2", "lisi", "nan", "5");
    List<Teacher> list=new ArrayList<Teacher>();
    list.add(user1);
    list.add(user2);
    System.out.println(list);
    System.out.println(getAllUserName(list));
    System.out.println(updateUserById(list, "2")); }
    public static List<String> getAllUserName(List<Teacher> teachers) {
    List<String> list=new ArrayList<String>();
    for(Teacher teacher:teachers) {
    list.add(teacher.getUserName());
    }
    return list;
    }

    public static List<Teacher> updateUserById(List<Teacher> teachers,String id){
    for(Teacher teacher:teachers) {
    if(teacher.getUserID().equals(id)) {
    teacher.setUserName("wangwu");
    }
    }
    return teachers;
    }}