JAVA实验二:设计一个教师类Teacher(属于cn.net.sdkd包)实现接口进行排序等

本文介绍了如何设计一个属于cn.net.sdkd包的Teacher类,包括属性设置、equals方法、toString方法的重写,以及如何通过Arrays.sort进行编号排序。此外,还创建了一个TeacherManagement类,用于根据姓名或年龄搜索教师信息,并提供了使用Arrays.sort方法的两种排序方式的详细解释。
摘要由CSDN通过智能技术生成

设计一个教师类Teacher(属于cn.net.sdkd包)

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

(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;

import java.util.Arrays;
import java.util.Comparator;

import cn.sd.TeacherManagement;


public class Teacher implements Comparable
{
	private int no;
	private String name;
	private int age;
	private String seminary;
	
	public Teacher(int no,String name,int age,String seminary)
	{
		this.no=no;this.name=name;this.age=age;this.seminary=seminary;
	}
	public int getNo() {
		return no;
	}
	public void setNo(int no) {
		this.no = no;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getSeminary() {
		return seminary;
	}
	public void setSeminary(String seminary) {
		this.seminary = seminary;
	}
	
	public boolean equals(Object o)
	{
		if(o==null)  return false;
		else
		{
			boolean result=false;
			if(o instanceof Teacher)
			{
				Teacher rec1=(Teacher)o;
				if(this.no.equals(rec1.no))
					result=true;
			}
			return result;
		}
	}
	
	public String toString()
	{
		return "编号为"+no+"、姓名为"+name&#
一、实验目的 掌握根据实际需求设计Java的方法; 掌握Java中继承的使用方法; 掌握Java中package的概念和使用方法; 掌握静态方法的定义和使用方法; 掌握Object中equals方法和toString方法的覆盖方法。 实验内容 1、设计一个名为figure的图形软件(package)。含三角形、矩形、圆三个要求:(1)每个都要构造方法并为成员设置get和set方法;(2)每个都要有计算周长和面积的成员方法;(3)完成该软件后的编码后,在另一个的含有main方法的中编写代码,分别使用图形软件中的三个,生成三个对象,并打印出其周长和面积。 2、编写Factorial,为其添加两个静态方法(方法名自定义)。其中一个使用递归计算n的阶乘,一个使用非递归计算n的阶乘。构造main方法进行测试。 3、按照要求使用Java进行编码。 设计一个教师Teacher属性编号(no)、姓名(name)、年龄(age)、所属学院(seminary),为这些属性设置相应的get和set方法; 为Teacher重写equals方法;(当两个教师对象的no相同时返回true) 重写Teacher的toString方法,通过该方法可以返回“编号为**、姓名为**、年龄为**的**学院老师”形式的字符串。 构造main方法进行测试。 4、设计一个带表头的单链表(链表中的元素属于同一型对象,但对象的型可以随意),提供以下操作:(1)insert:在某个位置插入对象;(2)delete:在某个位置删除对象;(3)delete:删除链表中与x相同的元素;(4)size:返回当前链表中对象的个数;(5)isEmpty:判断链表是否为空;(6)traverse:遍历链表,打印出所有的元素;(7)getData:取得某个位置的对象。构造main函数进行测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值