收藏 分销(赏)

Java实验学生通讯录系统.doc

上传人:天**** 文档编号:10820977 上传时间:2025-06-18 格式:DOC 页数:20 大小:322.51KB 下载积分:10 金币
下载 相关 举报
Java实验学生通讯录系统.doc_第1页
第1页 / 共20页
Java实验学生通讯录系统.doc_第2页
第2页 / 共20页


点击查看更多>>
资源描述
              成绩: 面向对象原理与Java实践课程实验报告 实验1:对象和类 姓 名 _ ___   班 级 _ ___   学 号 _ ___   实验地点 _ ___   实验时间 _ ___   指导教师 _ ___   面向对象原理与Java实践课程实验报告 实验1:对象和类 一、实验目的: l 掌握类的定义及应用方法 l 掌握对象的创建方法,了解实例变量、实例方法和静态字段的特性 l 体会Java在类和对象的设计中体现的面向对象的思想 二、实验要求: l 具备Java基础知识(教材第1、2章内容) l 掌握Java中对象和类的基本概念和应用方法(教材第3章内容) l 设计类时注意保证类的封装性 l 编写程序完成以下实验内容并上交实验报告(包括电子文档与纸质文档) 三、实验内容: 设计并实现一个“广石化院电信学院学生通信录”系统。系统采用字符界面,在出现的主界面中按提示输入相应字符以选择“增加”、“删除”、“修改”、“查找”等功能进行操作(其中“查找”功能除能够查找某个学生的信息之外,还能够显示所有学生的信息)。记录的存储可采用数组或链表的方式。 四、设计思路: 为了实现该系统,首先要需要两个类;一个类为主界面服务,用于接收用户输入信息以及做出相关反应;一个类为学生信息服务,定义学生通讯录信息的各个字段,以及操作字段的各个方法,考虑到部分字段的属性问题,所以将操作方法都写在学生类中,不再另外放置在其他类中。学生信息将会采用学生类的对象数组来储存。 五、 程序源代码: 下面是ZhuJieMian 主界面类 package pkg_TXL; import java.util.Scanner; public class ZhuJieMian { /** * * 该类为通讯录系统的主界面提供主要功能显示,以及负责主菜单与子菜单的正常跳转 */ public static void main(String[] args) { // TODO Auto-generated method stub //XueShengXinXi[] Stu=ChuShiHua(); //初始化系统数据 XueShengXinXi[] Stu=new XueShengXinXi[100]; Stu[0]=new XueShengXinXi("专业", "班级", "姓名", "性别", "电话", "家庭住址"); Stu[1]=new XueShengXinXi("自动化", "自动化10-1", "张三", "男", "63256", "fnhjfdhsdbh"); Stu[2]=new XueShengXinXi("自动化", "自动化10-2", "李四", "女", "653256", "nfhggdfddhsdbh"); Stu[3]=new XueShengXinXi("电子", "电子10-1", "王五", "男", "6156", "fnhvjbh"); Stu[4]=new XueShengXinXi("电子", "电子10-2", "小红", "女", "63956", "asdfnhjbh"); Stu[5]=new XueShengXinXi("网络", "网络10-1", "小明", "男", "656", "nfgdgfnhjbh"); Stu[6]=new XueShengXinXi("网络", "网络10-2", "小芳", "女", "62215", "nfgdmmmdfhbdsh"); Stu[7]=new XueShengXinXi("计算机", "计算机10-1", "黄龙", "男", "65584", "bbbdddfnhjbh"); Stu[8]=new XueShengXinXi("计算机", "计算机10-2", "陈玲", "女", "666114", "mjgfddddfnhjbh"); Stu[9]=new XueShengXinXi("测控", "测控10-1", "赵小斌", "男", "644814", "fthnrehbkjhjbh"); Stu[10]=new XueShengXinXi("测控", "测控10-2", "钱颖", "女", "63641", "dbfsvnnhjbh"); Stu[11]=new XueShengXinXi("电信", "电信10-1", "孙武", "男", "6321514", "mmhmgvvdfnhjbh"); Stu[12]=new XueShengXinXi("电信", "电信10-2", "李雨", "女", "6314", "43ghffvvdfnhjbh"); for(int x=13;x<Stu.length;x++) { Stu[x]=new XueShengXinXi(); } System.out.println("欢迎使用广石化电信学院通讯录系统!"); ZhuJieMian: for(int exit=0;exit==0;)//exit为退出主菜单的指示变量,0为不退出,非0为退出 { System.out.println(); System.out.println("************************************"); System.out.println("****************主菜单****************"); System.out.print(" 1。查询学生信息\t\t"); System.out.println("2。新增学生信息"); System.out.print(" 3。修改学生信息\t\t"); System.out.println("4。删除学生信息"); System.out.print(" 5。恢复已被删除信息\t\t"); System.out.println("6。退出"); System.out.println("************************************"); System.out.println("************************************"); System.out.print("请选择你要操作的功能序号:"); Scanner scn_input=new Scanner(System.in); String XuHao=scn_input.next(); System.out.println(); if(XuHao.equals("1")) //二级菜单——查询学生信息 { select:for(int exit2=0;exit2==0;) //exit为退出二级菜单的指示变量,0为不退出,非0为退出 { System.out.println("***************************************************************"); System.out.println("************************二级菜单——查询学生信息************************"); System.out.println("***************************************************************"); System.out.println(); System.out.print("请输入要查找的关键字(包括专业,班级,姓名等等),输入“all”显示全部信息,输入“back”返回主菜单:"); String str_KeyWord=scn_input.next(); System.out.println(); if(str_KeyWord.equals("all")) { System.out.println(); System.out.println("************************学生通讯录信息************************"); XueShengXinXi.Show(Stu); System.out.println(); System.out.println(); continue select; } else if(str_KeyWord.equals("back")) { continue ZhuJieMian; } else { int[] index=XueShengXinXi.Select(str_KeyWord,Stu); if(index[0]==0) { System.out.println("抱歉,没有找到关于“"+str_KeyWord+"”的学生信息!"); System.out.println(); continue select; } else { System.out.println("************************学生通讯录信息************************"); XueShengXinXi.Show(Stu,index); System.out.println(); System.out.println(); continue select; } } } } else if(XuHao.equals("2")) //二级菜单——新增学生信息 { insert:for(int exit3=0;exit3==0;) { System.out.println(); System.out.println("***************************************************************"); System.out.println("************************二级菜单——新增学生信息************************"); System.out.println("***************************************************************"); System.out.println(); System.out.println("请按右边的格式输入新增学生的专业/班级/姓名/性别/电话/地址信息(前3项信息必填),输入“back”返回主菜单:"); String str_Stu=scn_input.next(); if(str_Stu.equals("")) { System.out.println("输入有误,请重新输入!"); continue insert; } else if(str_Stu.equals("back")) { System.out.println(); continue ZhuJieMian; } else { boolean zuoFei=XueShengXinXi.Insert(Stu, str_Stu); if(zuoFei==true) { System.out.println(); System.out.println("由于学生信息必填项信息缺失,所以新增失败。返回至二级菜单..."); System.out.println(); continue insert; } else { System.out.println(); System.out.println("新增成功!返回至二级菜单..."); System.out.println(); continue insert; } } //exit3=1; } } else if(XuHao.equals("3")) //二级菜单——修改学生信息 { System.out.println("***************************************************************"); System.out.println("************************二级菜单——修改学生信息************************"); System.out.println("***************************************************************"); System.out.println(); System.out.println("************************学生通讯录信息************************"); XueShengXinXi.Show(Stu); //System.out.println(); update:for(int exit4=0;exit4==0;) //exit为退出二级菜单的指示变量,0为不退出,非0为退出 { System.out.println(); System.out.print("请输入要修改的学生前的序号(每次只能输入一个),输入“back”返回主菜单:"); String str_XuHao=scn_input.next(); System.out.println(); if(str_XuHao.equals("back")) { System.out.println(); continue ZhuJieMian; } else { int[] id=XueShengXinXi.Str_Int(Stu,str_XuHao,false); if(id[0]<Stu.length&id[0]!=0) { System.out.println(); //int index=XueShengXinXi.Select_index(Stu, id[0]); System.out.println("该学生信息如下:"); System.out.print(Stu[id[0]].str_ZhuanYe+"/"+Stu[id[0]].str_BanJi+"/"); System.out.print(Stu[id[0]].str_XingMing+"/"+Stu[id[0]].str_XingBie+"/"); System.out.println(Stu[id[0]].str_DianHua+"/"+Stu[id[0]].str_DiZhi); System.out.println("请按以上格式输入修改后的信息(某一项无修改的话,则不用输入):"); String str_Stu=scn_input.next(); XueShengXinXi.Update(Stu[id[0]], str_Stu); System.out.println("修改成功!已返回二级菜单"); System.out.println(); System.out.println("***************************************************************"); System.out.println("************************二级菜单——修改学生信息************************"); System.out.println("***************************************************************"); System.out.println(); System.out.println("************************学生通讯录信息************************"); XueShengXinXi.Show(Stu); continue update; } else { System.out.println("输入有误!已返回至二级菜单"); continue update; } } //exit4=1; } } else if(XuHao.equals("4")) //二级菜单——删除学生信息 { System.out.println("***************************************************************"); System.out.println("************************二级菜单——删除学生信息************************"); System.out.println("***************************************************************"); System.out.println(); System.out.println("************************学生通讯录信息************************"); XueShengXinXi.Show(Stu); delete:for(int exit5=0;exit5==0;) //exit为退出二级菜单的指示变量,0为不退出,非0为退出 { System.out.println(); //System.out.println("************二级菜单——删除学生信息************"); System.out.print("请输入要删除的学生信息前的序号(输入多个序号时用/隔开),输入“all”删除全部信息,输入“back”返回主菜单:"); String str_xuHao=scn_input.next(); System.out.println(); if(str_xuHao.equals("back")) { System.out.println(); continue ZhuJieMian; } else if(str_xuHao.equals("all")) { XueShengXinXi.Delete_All(Stu); System.out.println("全部数据已被删除,已返回主菜单。。。。。。"); //XueShengXinXi.Show(Stu); continue ZhuJieMian; } else { int[] id=XueShengXinXi.Str_Int(Stu,str_xuHao,false); if(id[0]<Stu.length) { //System.out.println(); XueShengXinXi.Delete_index(Stu, id); //System.out.println("删除成功!已返回二级菜单"); System.out.println(); System.out.println("***************************************************************"); System.out.println("************************二级菜单——删除学生信息************************"); System.out.println("***************************************************************"); System.out.println(); System.out.println(); System.out.println("************************学生通讯录信息************************"); XueShengXinXi.Show(Stu); continue delete; } else { System.out.println("输入有误!已返回至二级菜单"); continue delete; } } //exit5=1; } } else if(XuHao.equals("5")) //二级菜单——恢复已被删除信息 { System.out.println("***************************************************************"); System.out.println("**********************二级菜单——恢复已被删除信息***********************"); System.out.println("***************************************************************"); System.out.println(); System.out.println("**************************回收站信息**************************"); boolean bol=XueShengXinXi.Show_Del(Stu); if(bol==true) { System.out.println(); System.out.println("回收站为空,目前没有被删除的信息!已返回至主菜单。。。。。。"); continue ZhuJieMian; } else { recover:for(int exit6=0;exit6==0;) //exit为退出二级菜单的指示变量,0为不退出,非0为退出 { System.out.println(); //System.out.println("************二级菜单——删除学生信息************"); System.out.print("请输入要恢复的信息的序号(输入多个序号时用/隔开),输入“all”恢复全部信息,输入“back”返回主菜单:"); String str_xuHao=scn_input.next(); System.out.println(); if(str_xuHao.equals("back")) { System.out.println(); continue ZhuJieMian; } else if(str_xuHao.equals("all")) { XueShengXinXi.Recover_All(Stu); System.out.println("全部恢复完毕!已返回主菜单。。。。。。"); continue ZhuJieMian; } else { int[] id=XueShengXinXi.Str_Int(Stu,str_xuHao,true); if(id[0]<Stu.length) { //System.out.println(); XueShengXinXi.Recover_index(Stu, id); //System.out.println("删除成功!已返回二级菜单"); System.out.println(); System.out.println("***************************************************************"); System.out.println("**********************二级菜单——恢复已被删除信息***********************"); System.out.println("***************************************************************"); System.out.println(); System.out.println(); System.out.println("**************************回收站信息**************************"); XueShengXinXi.Show_Del(Stu); continue recover; } else { System.out.println("输入有误!已返回至二级菜单"); continue recover; } } } } } else if(XuHao.equals("6")) { break ZhuJieMian; } else { System.out.println("输入有误,已返回主菜单!"); System.out.println(); continue ZhuJieMian; } //exit=1; } } } 下面是XueShengXinXi 学生信息类 package pkg_TXL; public class XueShengXinXi { String str_ZhuanYe=""; String str_BanJi=""; //String str_XueHao=""; String str_XingMing=""; String str_XingBie=""; String str_DianHua=""; String str_DiZhi=""; Boolean bol_ZuoFei=true; //String str_ID=""; int int_ID=0; XueShengXinXi(){} //有参构造方法 public XueShengXinXi(String ZhuanYe,String BanJi,String XingMing,String XingBie,String DianHua,String DiZhi) { str_ZhuanYe=ZhuanYe; str_BanJi=BanJi; str_XingMing=XingMing; str_XingBie=XingBie; str_DianHua=DianHua; str_DiZhi=DiZhi; bol_ZuoFei=false; } //新增学生信息的函数 public static boolean Insert(XueShengXinXi[] stu,String str_stu) { int i=0; for(;i<stu.length;i++) { if(stu[i].bol_ZuoFei==true) { break; } } stu[i].str_ZhuanYe=""; stu[i].str_BanJi=""; stu[i].str_XingMing=""; stu[i].str_XingBie=""; stu[i].str_DianHua=""; stu[i].str_DiZhi=""; int k=0; for(int j=1;j<=str_stu.length();j++) { if(str_stu.substring(j-1, j).equals("/")) { k+=1; //index=j; } else { //System.out.println(k); if(k==0) { //stu[i].str_ZhuanYe=str_stu.substring(index, j); stu[i].str_ZhuanYe=stu[i].str_ZhuanYe+str_stu.substring(j-1, j); } else if(k==1) { //stu[i].str_BanJi=str_stu.substring(index, j); stu[i].str_BanJi=stu[i].str_BanJi+str_stu.substring(j-1, j); } else if(k==2) { //stu[i].str_XingMing=str_stu.substring(index, j); stu[i].str_XingMing=stu[i].str_XingMing+str_stu.substring(j-1, j); } else if(k==3) { //stu[i].str_XingBie=str_stu.substring(index, j); stu[i].str_XingBie=stu[i].str_XingBie+str_stu.substring(j-1, j); } else if(k==4) { //stu[i].str_DianHua=str_stu.substring(index, j); stu[i].str_DianHua=stu[i].str_DianHua+str_stu.substring(j-1, j); } else if(k==5) { //stu[i].str_DiZhi=str_stu.substring(index, j); stu[i].str_DiZhi=stu[i].str_DiZhi+str_stu.substring(j-1, j); } } } if(stu[i].str_ZhuanYe.equals("")|stu[i].str_BanJi.equals("")|stu[i].str_XingMing.equals("")) { stu[i].bol_ZuoFei=true; stu[i].str_ZhuanYe=""; stu[i].str_BanJi=""; stu[i].str_XingMing=""; stu[i].str_XingBie=""; stu[i].str_DianHua=""; stu[i].str_DiZhi=""; } else { stu[i].bol_ZuoFei=false; } return stu[i].bol_ZuoFei; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服