设计一个教师类Teacher

1. 设计一个教师类Teacher(属于cn包),要求:

1) 属性有编号(int no)、姓名(String name)、年龄(int age)、所属学院(String seminary),为这些属性设置相应的getset方法。

2) Teacher类重写equals方法,要求:当两个教师对象的no相同时返回true

3) 重写Teacher类的toString方法,通过该方法可以返回“编号为**、姓名为**、年龄为****学院老师”形式的字符串。

4) 由多个Teacher对象所形成的数组可以以两种方法排序(编号由低到高排序):1)使用Arrays.sort(Object[] a)方法;2)使用Arrays.sort(Object[] a, Comparator c)方法。

5) 再定义一个类TeacherManagement(属于cn.sd包),提供方法search,方法可以在一组给定的教师中,根据姓名(或年龄)返回等于指定姓名(或年龄)的教师的字符串信息,信息格式为:“编号为**、姓名为**、年龄为****学院老师”。如果没有满足条件的教师,则返回“没有符合条件的教师”。

6) 构造main方法进行测试。


Teacher

package cn.net.sdkd;

public class Teacher implements Comparable {
	private int no, age;
	private String name, seminary;

	public Teacher(int no, String name, int age, String seminary) {
		this.no = no;
		this.age = age;
		this.name = name;
		this.seminary = seminary;
	}

	public void setNo(int no) {
		this.no = no;
	}

	public int getNo() {
		return no;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public int getAge() {
		return age;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getName() {
		return name;
	}

	public void setSeminary(String seminary) {
		this.seminary = seminary;
	}

	public String getSeminary() {
		return seminary;
	}

	public boolean equals(Teacher t) {
		return (this.getNo() == t.getNo()) ? true : false;
	}

	public String toString() {
		return "编号为" + this.no + "、姓名为" + this.name + "、年龄为" + this.age + "的" + this.seminary + "学院的老师 ";
	}

	public int compareTo(Object o) {
		Teacher otherTeacher = (Teacher) o;
		if (no < otherTeacher.no)
			return -1;
		if (no > otherTeacher.no)
			return 1;
		return 0;
	}
}

TeacherManagement

package cn.sd;

import cn.net.sdkd.Teacher;

public class TeacherManagement {
	public void search(Teacher[] teachers, int age) {
		int l = teachers.length, i;
		for (i = 0; i < l; i++) {
			if (age == teachers[i].getAge()) {
				System.out.println(teachers[i].toString());
				break;
			} else if (i == l - 1)
				System.out.println("没有符合条件的老师");
		}
	}

	public void search(Teacher[] teachers, String name) {
		int l = teachers.length, i;
		for (i = 0; i < l; i++) {
			if (name == teachers[i].getName()) {
				System.out.println(teachers[i].toString());
				break;
			} else if (i == l - 1)
				System.out.println("没有符合条件的老师");
		}
	}
}

main

package cn.net.sdkd;

import cn.sd.*;
import java.util.*;

public class mian {
	public static void main(String[] args) {
		Teacher[] teachers = new Teacher[4];
		teachers[0] = new Teacher(001, "MA", 32, "计院");
		teachers[1] = new Teacher(004, "SHAO", 31, "地科");
		teachers[2] = new Teacher(003, "SONG", 30, "机电");
		teachers[3] = new Teacher(002, "WU", 29, "艺术");

		if (teachers[1].equals(teachers[2])) {
			System.out.println(teachers[1].getName() + "老师和" + teachers[2].getName() + "老师学工号相同");
		} else {
			System.out.println(teachers[1].getName() + "老师和" + teachers[2].getName() + "老师学工号不相同");
		}
		if (teachers[2].equals(teachers[3])) {
			System.out.println(teachers[2].getName() + "老师和" + teachers[3].getName() + "老师学工号相同");
		} else {
			System.out.println(teachers[2].getName() + "老师和" + teachers[3].getName() + "老师学工号不相同");
		}

		System.out.println(teachers[3].toString());

		TeacherManagement a = new TeacherManagement();

		a.search(teachers, 30);
		a.search(teachers, "MA");
		a.search(teachers, "mama");

		System.out.println("按编号升序排列:");
		Arrays.sort(teachers);
		for (int i = 0; i < teachers.length; i++) {
			System.out.println(teachers[i].toString());
		}
	}
}

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 方法,并且设计一个构造方法,能够初始化这些属性。 class Teacher: def __init__(self, no, name, age, seminary): self.no = no self.name = name self.age = age self.seminary = seminary def get_no(self): return self.no def set_no(self, no): self.no = no def get_name(self): return self.name def set_name(self, name): self.name = name def get_age(self): return self.age def set_age(self, age): self.age = age def get_seminary(self): return self.seminary def set_seminary(self, seminary): self.seminary = seminary # 使用示例 teacher = Teacher(1, "张三", 30, "计算机学院") print(teacher.get_name()) # 输出:张三 teacher.set_name("李四") print(teacher.get_name()) # 输出:李四 ### 回答2: 教师teacher是一种具有编号姓名年龄和所属学院等属性的对象,通常用于管理和组织教学工作。设计这个需要定义这些属性并设置相应的get和set方法,以便其他程序可以访问和修改这些属性。 首先,我们需要声明这些属性,并定义它们的数据型。编号年龄为整数型,姓名和所属学院为字符串型。在这里,我们使用C#语言作为演示,代码如下: ``` class Teacher { private int no; private string name; private int age; private string seminary; public int No { get { return no; } set { no = value; } } public string Name { get { return name; } set { name = value; } } public int Age { get { return age; } set { age = value; } } public string Seminary { get { return seminary; } set { seminary = value; } } } ``` 在上面的代码中,我们定义了教师Teacher,并声明了编号姓名年龄和所属学院等四个属性,并将其定义为私有属性,以保护数据不被其他程序直接访问和修改。接着,我们为每个属性设置了get和set方法,并使用public关键字将其定义为公共属性,以便其他程序可以访问和修改它们。 在get方法中,我们使用return关键字返回属性的值。在set方法中,我们使用value关键字获取传递进来的值,并将其赋给相应的属性。这样,当其他程序需要获取或设置这些属性时,只需调用相应属性的get和set方法即可。 例如,我们可以创建一个教师对象并设置其属性值,代码如下: ``` Teacher teacher = new Teacher(); teacher.No = 1001; teacher.Name = "张三"; teacher.Age = 35; teacher.Seminary = "计算机科学与技术学院"; ``` 通过上述代码,我们可以实现对教师对象的属性进行设置,包括编号姓名年龄和所属学院等。当其他程序需要访问这些属性时,只需调用相应属性的get方法即可。 总之,设计教师Teacher需要定义其属性及相应的get和set方法,以便其他程序可以访问和修改这些属性。在日常开发中,我们可以根据需要再增加一些其他的属性和方法,以满足实际需求。 ### 回答3: 教师Teacher是一种非常重要的,它代表了教育行业中教师的核心角色。我们需要为该定义一些属性,这样可以更好地描述教师这一角色,便于我们在实际使用过程中更好地处理数据。 首先是属性编号,用于标识教师的身份信息。我们将其定义为一个整型变量,使用get和set方法对其进行封装。通过get方法可以获取教师编号,set方法可以用来更改教师编号,使其具有可变性。 第二个属性教师姓名,用于表示教师的个人信息。我们需要定义一个字符串型的属性,同样使用get和set方法进行封装。通过get方法可以获取教师姓名,set方法可以用来更改教师姓名。 第三个属性教师年龄,表示教师的身体状况和应对问题的能力。同样,我们使用一个整型变量定义年龄属性,使用get和set方法进行封装。通过get方法可以获取教师年龄,set方法可以用来更改教师年龄。 最后是所属学院属性,用于表示教师所从事的教学领域和职责等信息。我们将其定义为一个字符串型的属性,使用get和set方法进行封装。通过get方法可以获取教师所属的学院,set方法可以用来更改教师所属的学院。 除了上述属性外,我们还可以为教师添加其他属性,如教育背景、职称、所教授课程等等。这些属性都可以通过get和set封装,以提高数据的安全性和使用的灵活性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值