高分求道Java题目 很急

设计一个教师工作证类Teacher,数据域及方法自行定义,至少覆盖toString(),显示该对象的所有属性信息。设计一个测试类TestTeacher,创建数组Teach... 设计一个教师工作证类Teacher,数据域及方法自行定义,至少覆盖toString(),显示该对象的所有属性信息。设计一个测试类TestTeacher,创建数组Teachers存放教师工作证,有增加教师工作证,能查询指定教师证的信息,修改教师工作证功能,数组长度由键盘输入值决定。 O(∩_∩)O谢谢 展开
 我来答
王添宝1987
2014-12-12 · TA获得超过141个赞
知道小有建树答主
回答量:182
采纳率:77%
帮助的人:74.2万
展开全部

public class Teacher {
private String code;//教师编号
private String name;//教师姓名
private String job;//教师职务
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
@Override
public String toString() {
return "编号:"+code+";姓名:"+name+";职务:"+job;
}

}


=====================================================

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;


public class TeacherTest {
public static void main(String[] args) {
TeacherTest tt = new TeacherTest();
Scanner scanner = new Scanner(System.in);
boolean enterOk = false;
int inpVal = 0;
System.out.println("====创建教师工作证====");
while(!enterOk){
try {
System.out.print("请输入要录入的教师个数");
String inpStr = scanner.next();
inpVal = Integer.parseInt(inpStr);
enterOk = inpVal>0;
} catch (Exception e) {
}
}
Teacher[] teachers = new Teacher[inpVal];
while(true){
System.out.println("============================");
System.out.print("操作教师工作证。\n" +
"1、添加教师工作证\n" +
"2、查询教师工作证\n" +
"3、查询所有教师的工作证\n" +
"4、修改教师工作证\n" +
"0、结束操作\n" +
"请输入操作编号:");
String inpStr = scanner.next();
while(!tt.checkInpVal(inpStr,new String[]{"1","2","3","4"})){
if("0".equals(inpStr)){
    System.exit(0);
        }
System.out.println("============================");
System.out.print("操作教师工作证。\n" +
"1、添加教师工作证\n" +
"2、查询教师工作证\n" +
"3、查询所有教师的工作证\n" +
"4、修改教师工作证\n" +
"0、结束操作\n" +
"请输入操作编号:");
inpStr = scanner.next();
}
if("0".equals(inpStr)){
System.exit(0);
}else{
tt.manageTeacher(teachers,inpStr,scanner);
}
}
}

public void manageTeacher(Teacher[] teachers,String manageIndex,Scanner scanner){
if("1".equals(manageIndex)){
Teacher t = new Teacher();
System.out.print("教师编号:");
t.setCode(scanner.next());
System.out.print("教师名称:");
t.setName(scanner.next());
System.out.print("教师职务:");
t.setJob(scanner.next());
addTeacher(teachers, t);
}else if("2".equals(manageIndex)){
System.out.print("请输入查询依据[code、name、job中任选其一]:");
String fieldName = scanner.next();
while(!checkInpFieldName(fieldName)){
fieldName = scanner.next();
}
System.out.print("请输入"+fieldName+"属性的值:");
List<Teacher> queryTeachers = queryTeacher(teachers, fieldName,scanner.next());
if(queryTeachers.size() == 0){
System.out.println("查询结果为空");
}else{
System.out.println("查询出的内容如下:");
for(int i=0;i<queryTeachers.size();i++){
System.out.println(queryTeachers.get(i));
}
}
}else if("3".equals(manageIndex)){
List<Teacher> queryTeachers = new ArrayList<Teacher>();
for(int i=0;i<teachers.length;i++){
if(teachers[i]!=null){
queryTeachers.add(teachers[i]);
}
}
if(queryTeachers.size() == 0){
System.out.println("查询结果为空");
}else{
System.out.println("查询出的内容如下:");
for(int i=0;i<queryTeachers.size();i++){
System.out.println(queryTeachers.get(i));
}
}
}else if("4".equals(manageIndex)){
System.out.print("请输入修改依据[code、name、job中任选其一]:");
String fieldName = scanner.next();
while(!checkInpFieldName(fieldName)){
System.out.print("请输入修改依据[code、name、job中任选其一]:");
fieldName = scanner.next();
}
System.out.print("请输入修改依据中"+fieldName+"属性的值:");
String fieldVal = scanner.next();

List<Teacher> queryTeacherList = queryTeacher(teachers, fieldName,fieldVal);
if(queryTeacherList.size() == 0){
System.out.println("找不到要修改的教师信息");
}else{
System.out.println("请输入修改教师信息:");
Teacher t = new Teacher();
System.out.print("教师编号:");
t.setCode(scanner.next());
System.out.print("教师名称:");
t.setName(scanner.next());
System.out.print("教师职务:");
t.setJob(scanner.next());
updateTeacher(teachers, fieldName,fieldVal,t);
System.out.println("修改成功");
}

}
}

public boolean addTeacher(Teacher[] teachers, Teacher t){
int addIndex = -1;
for(int i=0;i<teachers.length;i++){
if(teachers[i] == null){
addIndex = i;
break;
}
}
if(addIndex==-1){
System.out.println("教师添加数量达到上届不能再添加了");
return false;
}else{
teachers[addIndex] = t;
return true;
}
}

public boolean checkInpFieldName(String fieldName){
if(!"code".equals(fieldName) && !"name".equals(fieldName) && !"job".equals(fieldName)){
System.out.println("输入有误");
return false;
}else{
return true;
}
}

public boolean checkInpVal(String inp,String[] ableInp){
for(int i=0;i<ableInp.length;i++){
if(ableInp[i].equals(inp)){
return true;
}
}
return false;
}

public List<Teacher> queryTeacher(Teacher[] teachers, String fieldName,String fieldVal){
List<Teacher> queryTeachers = new ArrayList<Teacher>();
for(int i=0;i<teachers.length;i++){
if(teachers[i]!=null){
String compareFieldVal = "name".equals(fieldName)?teachers[i].getName():"job".equals(fieldName)?teachers[i].getJob():teachers[i].getCode();
if(fieldVal.equals(compareFieldVal)){
queryTeachers.add(teachers[i]);
}
}
}
return queryTeachers;
}

public void updateTeacher(Teacher[] teachers, String fieldName,String fieldVal,Teacher t){
for(int i=0;i<teachers.length;i++){
if(teachers[i]!=null){
String compareFieldVal = "name".equals(fieldName)?teachers[i].getName():"job".equals(fieldName)?teachers[i].getJob():teachers[i].getCode();
if(fieldVal.equals(compareFieldVal)){
teachers[i] = t;
}
}
}
}
}
pardream941026
2014-12-12 · TA获得超过8223个赞
知道大有可为答主
回答量:4602
采纳率:89%
帮助的人:1689万
展开全部

Try it.

Modify it if you needed.

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-12-12
展开全部
class Teacher {
private String name;
//get / set省略
public String toString(){
return "Teacher:"+name;

}

}
更多追问追答
追问
这样就完了?
追答
没包括测试类。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式