成绩:面向对象原理与Java实践课程实验报告实验1:对象和类姓名 ____班级 ____学号 ____实验地点 ____实验时间 ____指导教师 ____面向对象原理与Java实践课程实验报告实验1:对象和类一、实验目的:●掌握类的定义及应用方法●掌握对象的创建方法,了解实例变量、实例方法和静态字段的特性●体会Java在类和对象的设计中体现的面向对象的思想二、实验要求:●具备Java基础知识(教材第1、2章内容)●掌握Java中对象和类的基本概念和应用方法(教材第3章内容)●设计类时注意保证类的封装性●编写程序完成以下实验内容并上交实验报告(包括电子文档与纸质文档)三、实验内容:设计并实现一个“广石化院电信学院学生通信录”系统。
系统采用字符界面,在出现的主界面中按提示输入相应字符以选择“增加”、“删除”、“修改”、“查找”等功能进行操作(其中“查找”功能除能够查找某个学生的信息之外,还能够显示所有学生的信息)。
记录的存储可采用数组或链表的方式。
四、设计思路:为了实现该系统,首先要需要两个类;一个类为主界面服务,用于接收用户输入信息以及做出相关反应;一个类为学生信息服务,定义学生通讯录信息的各个字段,以及操作字段的各个方法,考虑到部分字段的属性问题,所以将操作方法都写在学生类中,不再另外放置在其他类中。
学生信息将会采用学生类的对象数组来储存。
五、程序源代码:下面是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("由于学生信息必填项信息缺失,所以新增失败。