酒店管理系统java

2022-09-21

第一篇:酒店管理系统java

JAVA物业管理系统

本系统的意义

新的世界已经到来,在电子计算机技术发展日新月异的今天,计算机软件的应用早已深入到了各行各业,并发挥着它们巨大的潜力。随着企业,房户等一系列的改革,一切都在潮向社会化发展,管理体制也由过去的全承包向现在的一体化,专门化发展。为了人员的安全,社会的稳定,国家的持续发展,物业管理在起着举足轻重的作用。本物业管理系统提供对人员,住房,房产和收费信息的管理。为了有效管理和社会人员的方便,系统为管理员用户和普通用户提供了不同的功能。本系统具有一定的实用性。

本物业管理系统是在服务器上先安装Windows NT操作系统,并在NT系统下安装数据库系统SQL Server 7.0和建立人员、住房、房产、收费四个数据库。然后在NT操作系统下用Java编写不同的系统用户界面,后用JDBC/ODBC桥实现服务器上数据库和前端界面的连[文章来源: 计算机毕业论文网]接。连接成功后,将Java编写的用户界面移植到客户端的Linux操作系统下,并用这个界面试图实现与服务器上NT系统下的数据库SQL连接。以达到在不同的操作系统下可以互相调用的目的,实现Java的重要特性:可移植性。

二.设计思想

2.1 当前数据库实现中存在的问题:

2.1.1 目前存在的问题----数据库的实现面向单一应用

在目前开发的一部分数据库应用软件中,程序员的主要任务是编写高质量的程序,对所使用的软件及数据库很少关注,这就面临数据库单一应用的问题。

2.1.2 数据库设计中存在数据完整性问题

数据库应用所提供的功能一般都比较安全,往往自成一个系统。但是当数据库不同后系统数据就会产生问题。

2.2 工具软件的介绍

2.2.1 Java语言的介绍

Java是一个由SUN公司开发成功的新一代编程语言,它的最大特点就是:使用它可在各式各样不同种机器,不同种操作平台的网络环境中开发软件,即SUN公司所宣扬的一次编写,到处运行 。

在SUN公司的Java白皮书中对Java有如下的定义:

Java: A simple, Object-oriented, distributed, robust, secure, architecture-neutral, portable, High-performance, multi-threaded, and dynamic language.(Java: 一种简单的,面向对象的,分布式的,健壮的,安全的,结构中立的,可移植的,高效性的,多线程和动态的语言)。

这个定义充分地表现了Java语言的特点。

1. 简单性

Java是一种简单的语言。Java取消了其它的许多编程语言中十分繁琐的和难以理解的内容,例如C/C++中的指针,C++中类的多重继承等。Java语言在外观上让大多数程序员都感到很熟悉,这样程序员不需要经过长时间训练就能够学会使用这种新型的程序开发工具。Java要求的基本解释器约为40KB ,若加上基本的程序库,约为215KB。由于Java程序很小,因此在小型机上Java程序也能够很好地执行。

2. 面向对象

Java是一种面向对象的语言。这里的对象是指应用程序的数据及其操作方法。Java程序的设计思想不同于C语言基于过程的程序设计思想。设计面向对象的程序需要将编程重点放在资料和接口上。

3. 分布式特性

Java是一种分布式的语言。Java有一个很周全的程序库,且很容易与HTTP和TCP/IP通信协议相配合。Java应用程序能在网络上开启并连结使用对象,就如同透过URL链接使用一个本地文件系统。利用Java来开发分布式的网络程序是Java的一个重要应用。

4. 健壮性

用Java编写的程序在多种情况下都能稳定地执行。Java与C/C++最大的不同点是在于Java有一个专门的指针模型,它的作用是排除内存中的数据被覆盖和毁损的可能性。

5. 安全性

Java是一种安全的网络编程语言。Java是被设计用于网络及分布的环境中的,所以Java程序的安全性自然是非常重要的。Java拥有数个阶层的互锁保护措施,能有效地防止病毒的侵入和破坏行为的发生。

6. 结构中立性

众所周知,网络是由很多不同机型的计算机组合而成的。这些计算机的CPU和操作系统体系结构均有所不同。因此,要使一个应用程序可以在每一种计算机上都能够执行是很难的。

所幸的是,Java的编译器能够产生一种结构中立的目标文件格式,这使得编译码能够在多数的处理器中执行。

7. 可移植性

Java的源代码和C/C++的源代码一样具有可移植性,而且Java的可移植性在相比之下还要更强一些。只要有对应系统的解释器,Java程序就可以在所有的系统上执行。Java的原始资料形式的大小是被指定的,例如Java之所以一直用float来表示一个32位字节的IEEE754的浮点运算数字,正是因为绝大多数的CPU都有此共同特征。Java自带的程序库定义了一些可移植的程序接口,这使Java语言具备了很好的可移植性。

8. 解释型语言

Java的源程序首先由编译器编译成字节码,之后再由解释器解释执行。Java解释器能直接在任何机器上执行Java字节码(Byte Codes),因此在进行程序链接时节省了时间,这对于缩短程[文章来源: 计算机毕业论文网]序的开发过程有极大的帮助。

9. 高效性

Java字节码能迅速地转换成机器码(Machine Code)。Java的这种效能几乎与C/C++没有分别。用Java编制的Java小应用程序可以取代部分CGI脚本(CGI Scripts)的功能,但是考到效率方面的问题,在大多数的情况下很多客户端的基本操作还是由脚本语言来完成的。涉及到复杂算法的计算以及一些特别的效果,就可以由Applet或者ActiveX来完成。

10. 多线程性

Java语言具有多个线程,这对于交互回应能力和即时行为是有帮助的。

11. 动态性

联系购买

(0)1594335582

5528311109 345608595

345608595@qq.com

帮助中心

付款方式 购买流程 常见问题

定做论文 常见问题 友情提醒

我们的优势

权威机构 我们具备深厚行业背景。

技术领先 最新软件编程技术和权威合作伙伴。

良好声誉 广泛知名度、满意度,众多新老客户。

随机推荐

121J2ME手机射击游戏_JAVA()

原文出处:

第二篇:java图书管理系统心得

经过这周的学习我们终于把java图书管理系统做出了了,虽然不是很好但是能把它做出来我们为此感到高兴。在此次小学期的学习过程中,我体会到看学习是一个很反复的过程,不断的出现错误,不断的调试,不断的迷茫,不断的清晰,呵呵,这些都是必须要要经历的,所以不要害怕了。学做java图书管理系统,所以现在所遇到的一切,我都挺坦然的面对。突然觉得这个学习的过程很美好,是一种享受,虽然真的是很辛苦吧,但是很快乐,当自己能敲出的代码,即使做出的是做简单的东西,都会让我很开心,很有成就感,对待学习的态度跟以前不一样了,还是那个很简单的想法,就是想把java学好

学习java就是件耗时间的事儿,如果你不肯投入自己的时间,根本不可能在短时间就把java给学好了,原本我对java接触了时间就比较短,如果我还不努力的话,我根本就不能在4周的时间内把java图书管理系统的项目做完,所以我就不能去做娱乐,休闲的事情,而是坐在电脑前,敲着那些代码,不断的出错,不断的去调试,这就是我现在的生活,完全的浸泡在java中了,跟同学们一起去吃饭的时候,也在不断的探讨着学习中出现的问题。

在学习Java期间我们做了一些程序,我们班的同学也都积极准备,完成的还不错!在做程序时,我遇到了一些难题,有时也会出现错误,时间长了弄得我心烦意乱,但是我知道只有坚持下去才会成功。

因为Java是一种面向对象的编程语言,刚接触Java的人可能会感觉比较抽象,不过没关系不用着急,上课的时候认真听老师讲解,一些概念知识慢慢去理解,课后多做练习,熟能生巧,哪怕是你的记性再好,课后不去强化练习也没用,只有多练了,当你在做项目时你才能很熟练的写出你想要代码。平日在练习时若遇到不会的题目或是在项目中遇到解决不了的问题,首先不要急着去问老师,或是急着上百度搜答案,那样即使你得到了正确答案,以后在其它地方遇到同样的问题,你还是不知道怎么解决!所以说,在遇到问题时,自己先想想要怎么解决,回顾一下老师上课的内容,如果自己还是想不出什么好方法的话,也可以向同学请教请教,三人行必有我师,你不懂的地方其他同学可能知道。如果还是没能解决,那只有问老师或是上网搜索查找相应的解决方法了。好好理解其解决思路。真的弄不懂时我就问同学一起解决。通过几个阶段的练习,我觉得又把学过的知识复习了一遍,通过同学之间的交流沟通,我觉得我们班的学习氛围更加浓厚了。

我觉得把Java学会的关键一点就是坚持练习。学习Java时每天必须保证一定量的练习,我们老师也说学习编程语言没有捷径可走。真的,只有每天反复操作了,经常写代码了,我们在遇到问题时才有一定的思路。欲速则不达,学习编程语言需要一个比较漫长的阶段,不能一步登天,这需要一个过程,在这个过程中慢慢积累经验,扎实基础。不要以为写出了一个简单的小程序,就认为自己已经学的很好了,这只不过是在你学习编程过程中一个小小的实践。不要满足于现状,要不断完善自己的知识体系,善于总结实践经验。要端正自己的学习态度,是主动去学,而不是被动!提高自学能力。学习编程的秘诀是:编程、编程、再编程。不仅要多实践,而且要快实践,、吗。

在我学习的期间,很多人对我的学习都有很大的帮助啊,班里的同学们,老师们,我觉得我是一个幸运儿,每次我都能在遇到问题的时候,都能找到能帮助我的人,呵呵,很开心哦~但是,我认为有些东西还是要自己去琢磨,去思考,去想。这样才能不断的进步。

第三篇:基于java小型超市管理系统

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Arrays; import java.util.Scanner;

public class Mytest { static int sign=0;//goodname数组第一个空下标号

static int sign1=0;//cname数组第一个空下标号

static String[] cpass=new String[20];//存放售货员名称

static String[] cname=new String[20];//存放售货员登入密码

static String[] goodname=new String[20];//存放商品名称

static double[] goodprice=new double[20];//存放商品价格

static int[] goodout=new int[20];//存放商品销售量

static int[] goodnum=new int[20];//存放商品数量

public static void main(String[] args)throws Exception { cname[0]="ZhouTian";//初始的售货员名称

cpass[0]="723"; //初始的售货员密码 createArrays(); readArrays("goodname");//将文件中的内容读入到相应的数组里

readArrays("goodprice"); readArrays("goodnum"); readArrays("cname"); readArrays("cpass"); readArrays("goodout"); menu();//登入之后加载的主菜单

} /** * 加载登入菜单

*/ private static void menu() {

Scanner scan = new Scanner(System.in);

System.out.println(" 欢迎使用商超购物管理系统 ");

System.out.println(" 1.登录系统 ");

System.out.println(" 2.退出 ");

System.out.println("*************************************************");

System.out.println("请选择,输入数字: ");

int a = scan.nextInt();

switch (a) {

case 0:

System.out.println("退出!");//按0不登入

case 1:

System.out.println("请输入用户名:");// 查找售货员姓名是否存在,与所对应的密码是否匹配

String name = scan.next();

System.out.println("请输入密码:");

String pass = scan.next();

int flage = 0;

int ff = 0;

for (int i = 0; i < cname.length; i++) {

if (name.equals(cname[i])) {

flage = 1;//售货员的名称匹配flage=1;

ff = i;

break;

}

}

if (flage == 1) {//名称匹配之后再匹配密码

if (pass.equals(cpass[ff])) {

loadmenu1();//密码也匹配之后再允许登入

} else {

System.out.println("密码错误!");

}

} else {

System.out.println("该用户名不具有权限");

}

break;

case 2:

System.out.println("谢谢您的使用!");

break;

default:

break;

} }

/** * ,创建文件,将数组信息存入到各文件中, */ static void createArrays() {

BufferedWriter bw = null;

try {

File file1 = new File("d:gname.txt");

if (!file1.exists()) {

bw

=

new

BufferedWriter(new FileWriter("d:gname.txt"));

String content1 = strToString(goodname);//数组内容转换成字符串

bw.write(content1);//写入

bw.close();

}

File file2 = new File("d:gprice.txt");

if (!file2.exists()) {

bw

=

new

BufferedWriter(new FileWriter("d:gprice.txt"));

String content2 = doubleToString(goodprice);//数组内容转换成字符串

bw.write(content2);//写入

bw.close();

}

File file3 = new File("d:gnum.txt");

if (!file3.exists()) {

bw

=

new

BufferedWriter(new FileWriter("d:gnum.txt"));

String content3 = intToString(goodnum);//数组内容转换成字符串

bw.write(content3);//写入

bw.close();

}

File file4 = new File("d:cname.txt");

if (!file4.exists()) {

bw

=

new

BufferedWriter(new FileWriter("d:cname.txt"));

String content4 = strToString(cname);//数组内容转换成字符串

bw.write(content4);//写入

bw.close();

}

File file5 = new File("d:cpass.txt");

if (!file5.exists()) {

bw

=

new

BufferedWriter(new FileWriter("d:cpass.txt"));

String content5 = strToString(cpass);//数组内容转换成字符串

bw.write(content5);//写入

bw.close();

}

File file6 = new File("d:gout.txt");

if (!file6.exists()) {

bw

=

new

BufferedWriter(new FileWriter("d:gout.txt"));

String content5 = intToString(goodout);//数组内容转换成字符串

bw.write(content5);//写入

bw.close();

}

} catch (IOException e) {

e.printStackTrace();

}

}

/** * 登入之后加载商超购物管理系统

*/ static void loadmenu1() {

System.out.println("欢迎进入商超购物管理系统!");

System.out.println(" 商超购物管理系统");

System.out

.println("********************************************************************************");

System.out.println(" 1.商品维护");

System.out.println(" 2.前台收银");

System.out.println(" 3.商品管理");

System.out.println(" 4.退出");

System.out.println("********************************************************************************");

System.out.println("请选择,输入数字或按0退出:");

Scanner scan = new Scanner(System.in);

int a = scan.nextInt();

switch (a) {

case 0:

System.out.println("谢谢您的使用!");

break;

case 1:

System.out.println("执行显示商品维护菜单");

loadmenu2();

break;

case 2:

System.out.println("执行前台收银");

loadmenu6();

break;

case 3:

System.out.println("执行商品管理");

loadmenu7();

break;

default:

break;

} } /* * 在商超购物管理系统中按1键时 */ static void loadmenu2() {

System.out.println(" 商超购物管理系统 商品维护");

System.out

.println("********************************************************************************");

System.out.println(" 1.添加商品 ");

System.out.println(" 2.更改商品 ");

System.out.println(" 3.删除商品 ");

System.out.println(" 4.显示所有商品 ");

System.out.println(" 5.查询商品 ");

System.out

.println("********************************************************************************");

System.out.println("请选择,输入数字或按0返回上一级菜单:");

Scanner scan = new Scanner(System.in);

int b = scan.nextInt();

switch (b) {

case 0:

loadmenu1();

break;

case 1:

addgoods();

break;

case 2:

System.out.println("执行更改商品操作");

loadmenu3();// 修改商品

break;

case 3:

System.out.println("执行商品删除操作");

loadmenu4();// 商品删除

break;

case 4:

System.out.println("显示所有商品");

System.out.println("商品名称 " + "商品价格 " + "商品数量 "

+ "备注");

showgoods();

break;

case 5:

System.out.println("执行查询商品操作");

loadmenu5();

break;

default:

break;

} } /* * 在商超购物管理系统中按2键时

*/ static void loadmenu6() {

System.out.println(" 商超购物管理系统 前台收银");

System.out

.println("********************************************************************************");

System.out.println(" 1.购物结算");

Scanner scan = new Scanner(System.in);

int ch = scan.nextInt();

switch (ch) {

case 0:

loadmenu1();

break;

case 1:

pay();

break;

default:

break;

}

} /* * 在商超购物管理系统中按3键时

*/ static void loadmenu7() {

Scanner scan = new Scanner(System.in);

System.out.println(" 商超购物管理系统 商品管理");

System.out

.println("********************************************************************************");

System.out.println(" 1.库存查询");

System.out.println(" 2.已出售商品");

System.out.println(" 3.售货员管理");

System.out.println("请选择,输入数字或按0返回上一级菜单:");

int ch = scan.nextInt();

switch (ch) {

case 0: loadmenu1();

break;

case 1:

System.out.println("执行库存查询操作:");

kusear();

break;

case 2:

System.out.println("执行已出售商品查询操作");

besold();

break;

case 3:

System.out.println("执行售货员管理操作");

salesman();

break;

default:

break;

}

} /* * 对售货员信息的增添,修改 */ static void salesman()

{

Scanner scan = new Scanner(System.in);

System.out.println("

1、添加售货员");

System.out.println("

2、修改售货员信息");

System.out.println("请选择,输入数字或按0返回上一级菜单:");

int b = scan.nextInt();

switch (b) {

case 0:

loadmenu7();//返回上一级

break;

case 1:

addsale();//选择1键,添加售货员

break;

case 2:

modifysale();//更改售货员的信息

break;

default:

break;

} } /* 添加售货员 * */ static void addsale() {

Scanner scan = new Scanner(System.in);

String f;

// sign1 = sign1 + 1;

do {

System.out.println("添加售货员姓名:");

String addname = scan.next();

add(cname, addname, sign1);//将新信息添加到相应数组中

System.out.println("添加售货员登陆密码:");

String addpass = scan.next();

add(cpass, addpass, sign1);//将新信息添加到相应数组中

// writeArray();

sign1++;//新信息添加后数组下标加1

writeArray();

System.out.println("是否继续(y/n)");

f = scan.next();

// writeArray();

} while (f.equals("y"));

salesman(); } /* * 更改售货员的信息 */ static void modifysale() {

String f;

Scanner scan = new Scanner(System.in);

System.out.println("输入更改员工名称:");

String newname = scan.next();

int k = searmember(newname);//查询需要改的售货员的信息,并返回其在数组中的下标

if (k >= 0) {//判断售货员是否存在

System.out.println("员工姓名" + " 密码");

System.out.println(cname[k] + " " + cpass[k]);

System.out.println("选择您要更改的内容:");

System.out.println("

1、更改员工姓名:");

System.out.println("

2、更改登录密码:");

int kk = scan.nextInt();

switch (kk) {

case 1:

System.out.println("请输入已更改员工姓名:");

String newnname = scan.next();

cname[k] = newnname;

writeArray();

System.out.println("是否继续(y/n)");

f = scan.next();

if (f.equals("y")) {

modifysale();

} else {

salesman();

}

break;

case 2:

System.out.println("请输入已更改密码:");

String newpass = scan.next();

cpass[k] = newpass;

writeArray();

System.out.println("是否继续(y/n)");

// System.out.println("是否继续(y/n)");

f = scan.next();

if (f.equals("y")) {

modifysale();

}

salesman();

break;

default:

break;

}

} } /* * 查询ename姓名的售货员在数组中的下标 */ static int searmember(String ename) {

for (int i = 0; i < cname.length; i++) {

if (cname[i].equals(ename)) {

return i;

}

}

return -1;// 不存在时

} /* * 查询已出售的商品信息 */ static void besold()

{

System.out.println("商品名称 " + "商品价格 " + "商品数量 " + "备注");

for (int i = 0; i < goodout.length; i++) {

if (goodout[i] != 0) {

System.out.println(goodname[i] + " " + goodprice[i]

+ " " + goodout[i]);

}

}

loadmenu7(); } /* * 查询库存中售的商品信息

*/ static void kusear() {

Scanner scan = new Scanner(System.in);

String f;

do {

System.out.println("输入要查询的商品名称:");

String sname = scan.next();

int t = ndimsear(sname);//按确切的商品名称进行查询,即非模糊查询,找出商品名称信息的下标

if (t >= 0) {

System.out.println("商品名称 " + "商品价格 " + "商品数量 "

+ "备注");

System.out.println(goodname[t] + " " + goodprice[t]

+ " " + goodnum[t] + " ");//按下标输出商品相应的信息

} else {

System.out.println("没有此商品");

}

System.out.println("是否继续(y/n)");

f = scan.next();

} while (f.equals("y"));

loadmenu7();

} /* * 按确切的商品名称进行查询,即非模糊查询,找出商品名称信息的下标

*/ static int ndimsear(String s) {

for (int i = 0; i < goodname.length; i++) {

if (goodname[i].equals(s)) {

return i;

}

}

return -1;//没查询到时

}

/* * 商品结算

*/ static void pay() {

Scanner scan = new Scanner(System.in);

double sum = 0;

String f;

do {

dimsearch1();//按关键字进行模糊查询,查找可能需要的商品

System.out.println("请选择商品:");

String bnam = scan.next();//按查询到的相关商品中选择要购买的商品

System.out.println("请输入购买数量:");

int bnum = scan.nextInt();

int fl = seargood(bnam);

System.out.println(bnam + " " + goodprice[fl] + " "

+ "购买数量" + bnum + " " + bnum * goodprice[fl]);

goodnum[fl] = goodnum[fl]sum));

writeArray();//将对数组的更改写入到文件中

loadmenu1();//结束购买返回

} /* * 查找商品返回下标 */ static int seargood(String bbnam) {

for (int i = 0; i <= goodname.length; i++) {

if (goodname[i].equals(bbnam)) {

return i;

}

}

return -1; }

/* * 对商品进行各种查找

*/

static void loadmenu5() {

Scanner scan = new Scanner(System.in);

System.out.println("

1、按商品数量升序查询");

System.out.println("

2、按商品价格升序查询");

System.out.println("

3、输入关键字查询商品");

System.out.println("请选择,输入数字或按0返回上一级菜单:");

int choice = scan.nextInt();

switch (choice) {

case 0:

loadmenu2();//返回上一级

break;

case 1:

numshenxu();//按商品数量升序进行查找

break;

case 2:

priceshenxu();//按商品价格升序进行查找

break;

case 3:

dimsearch();//按商品的关键字进行查找

break;

default:

break;

}

}

static void dimsearch1() {

int[] k;

Scanner scan = new Scanner(System.in);

System.out.println("输入商品关键字:");

String sear = scan.next();

k = Arrays.copyOf(index(sear), index(sear).length);

System.out.println("商品名称 " + "商品价格 " + "商品数量 " + "备注");

if (k != null) {

for (int i = 0; i < k.length; i++) {

System.out.println(goodname[k[i]] + " " goodprice[k[i]]

+ " " + goodnum[k[i]] + " ");

}

}

} /* * 按商品的关键字进行查找

*/ static void dimsearch()

+ {

String f;

do {

int[] k;

Scanner scan = new Scanner(System.in);

System.out.println("输入商品关键字:");

String sear = scan.next();

k = Arrays.copyOf(index(sear), index(sear).length);

System.out.println("商品名称 " + "商品价格 " + "商品数量 "

+ "备注");

if (k != null) {

for (int i = 0; i < k.length; i++) {

System.out.println(goodname[k[i]] + " "

+ goodnum[k[i]]

+ " ");

}

goodprice[k[i]]

+

" "

+

}

System.out.println("是否继续(y/n)");

f = scan.next(); } while (f.equals("y")); loadmenu2(); } static int[] index(String ss) { int countt = 0; int counttt = 0; for (int i = 0; i < goodname.length; i++) {

if (goodname[i].indexOf(ss) >= 0) {

countt++;

} } int[] location = new int[countt]; for (int i = 0; i < goodname.length; i++) {

if (goodname[i].indexOf(ss) >= 0) {

location[counttt] = i;

counttt++;

}

}

return location; } /* * 按商品数量升序进行查找

*/ static void numshenxu() {

int[] newnum = Arrays.copyOf(goodnum, goodnum.length);

double[]

newprice

=

Arrays.copyOf(goodprice, goodprice.length);

String[] goodname.length);

for (int i = 0; i < newnum.lengthi1; i++) {

for (int j = 0; j < newprice.length1; j++) {

if (newprice[j] < newprice[j + 1]) {

int temp = newnum[j];

newnum[j] = newnum[j + 1];

newnum[j + 1] = temp;

double temp1 = newprice[j];

newprice[j] = newprice[j + 1];

newprice[j + 1] = temp1;

String temp2 = newname[j];

newname[j] = newname[j + 1];

newname[j + 1] = temp2;//相应的下标在不同的数

newname

=

Arrays.copyOf(goodname, 组里进行挑换,商品的信息才能保持一致

}

}

}

System.out.println("商品名称 " + "商品价格 " + "商品数量 " + "备注");

for (int k = 0; k < newnum.length; k++) {

if (newprice[k] != 0) {

System.out.println(newname[k] + " " + newprice[k]

+ " " + newnum[k] + " ");

}

}

loadmenu5(); } /* *更改商品信息的操作

*/ static void loadmenu3() {

Scanner scan = new Scanner(System.in);

System.out.println("输入更改商品名称:");

String nam = scan.next();

int b = showflage(nam);

print(b);

System.out.println("选择您要更改的内容:");

System.out.println("

1、更改商品名称::");

System.out.println("

2、更改商品价格:");

System.out.println("

3、更改商品数量:");

int ch = scan.nextInt();

switch (ch) {

case 0:

break;

case 1:

int counnt = 0;

String f = "y";

while (f.equals("y")) {

if (counnt != 0) {

// Scanner scan = new Scanner(System.in);

System.out.println("输入更改商品名称:");

nam = scan.next();

b = showflage(nam);//查找需要更改商品的下标

print(b);//输出这个商品的各种信息

}

System.out.println("请输入已更改商品名称");

String cname = scan.next();

goodname[b] = cname;//更改名称

System.out.println("是否继续(y/n)");

f = scan.next();

counnt++;

writeArray();

}

loadmenu2();

break;

case 2:

counnt = 0;

f = "y";

while (f.equals("y")) {

if (counnt != 0) {

// Scanner scan = new Scanner(System.in);

System.out.println("输入更改商品名称");

nam = scan.next();

b = showflage(nam);

print(b);

}

System.out.println("请输入已更改商品价格");

double cprice = scan.nextDouble();

goodprice[b] = cprice;//新价格写入数组

System.out.println("是否继续(y/n)");

f = scan.next();

counnt++;

writeArray();

}

loadmenu2();

break;

case 3:

counnt = 0;

f = "y";

while (f.equals("y")) {

if (counnt != 0) {

// Scanner scan = new Scanner(System.in);

System.out.println("输入更改商品名称");

nam = scan.next();

b = showflage(nam);

print(b);

}

System.out.println("请输入已更改商品数量");

int cnum = scan.nextInt();

goodnum[b] = cnum;

counnt++;

writeArray();

System.out.println("是否继续(y/n)");

f = scan.next();

}

loadmenu2();

break;

default:

break;

}

} /* * 查询nama这个商品在goodname中的下标

*/ static int showflage(String nama) {

int flag = 0;

for (int i = 0; i < goodname.length; i++) {

if (goodname[i].equals(nama)) {

flag = i;

break;

}

}

return flag; }

static void print(int b) {

System.out.println("商品名称 " + "商品价格 " + "商品数量 " + "备注");

System.out.println(goodname[b] + " " + goodprice[b] + " "

+ goodnum[b] + " ");

} /* * 删除商品菜单

*/ static void loadmenu4() {

String f;

int d;

do {

Scanner scan = new Scanner(System.in);

System.out.println("请输入要删除的商品名称:

String dname = scan.next();

d = showflage(dname);

delete(d);

System.out.println("是否继续(y/n)");

f = scan.next();

writeArray();//删除之后重新写入文件

} while (f.equals("y"));

loadmenu2(); }

"); /* * 删除商品 */ static void delete(int dd) {

for (int i = dd; i < goodname.length1] = null;

goodprice[goodprice.length1] = 0;

} /* * 查询所有商品

*/ static void showgoods() {

int i = 0;

while (goodprice[i] != 0) {

System.out.print(goodname[i] +

" " goodprice[i] + " "

+

+ goodnum[i] + " ");

if (goodnum[i] < 10) {

System.out.println(" *该商品已不足10件!");

}

System.out.println();

i++;

}

loadmenu2();

} /* * 商品添加操作 */ static void addgoods() {

System.out.println("执行添加商品操作: ");

String a;

do {

Scanner scan = new Scanner(System.in);

System.out.println("输入商品名称:");

String na = scan.next();

add(goodname, na, sign);

System.out.println("输入添加商品价格:");

double pr = scan.nextDouble();

add(goodprice, pr, sign);

System.out.println("输入添加商品数量:");

int c = scan.nextInt();

add(goodnum, c, sign);

sign++;

System.out.println("是否继续(y/n)");

a = scan.next();

writeArray();

} while (a.equals("y"));

loadmenu2();

} /* * 将数组信息写入到相应的文件里,启动程序时就要调用这个函数 */ static void writeArray() {

BufferedWriter bw = null;

try {

bw

=

new

BufferedWriter(new FileWriter("d:gname.txt"));

String content1 = strToString(goodname);

bw.write(content1);

bw.close();

bw

=

new

BufferedWriter(new FileWriter("d:gprice.txt"));

String content2 = doubleToString(goodprice);

bw.write(content2);

bw.close();

bw

=

new

BufferedWriter(new FileWriter("d:gnum.txt"));

String content3 = intToString(goodnum);

bw.write(content3);

bw.close();

bw = new BufferedWriter(new FileWriter("d:cname.txt"));

String content4 = strToString(cname);

bw.write(content4);

bw.close();

bw

=

new

BufferedWriter(new FileWriter("d:cpass.txt"));

String content5 = strToString(cpass);

bw.write(content5);

bw.close();

bw

=

new

BufferedWriter(new FileWriter("d:gout.txt"));

String content6 = intToString(goodout);

bw.write(content6);

bw.close();

} catch (IOException e) {

e.printStackTrace();

} } /* * 添加商品名称 */ static void add(String[] aa, String n, int b) {

if (b == aa.length) {

aa = (String[]) Arrays.copyOf(aa, aa.length * 2);

}

aa[b] = n; } /* * 添加商品价格

*/ static void add(double[] aa, double pr, int b) {

if (b == aa.length) {

aa = (double[]) Arrays.copyOf(aa, aa.length * 2);

}

aa[b] = pr; } /* * 添加商品数量

*/ static void add(int[] aa, int cc, int b) {

if (b == aa.length) {

aa = (int[]) Arrays.copyOf(aa, aa.length * 2);

}

aa[b] = cc;

}

/** * 从文件中读取信息到相应的数组里

*/ static void readArrays(String name) throws Exception {

BufferedReader br = null;

try {

if ("goodname".equals(name)) {

br

=

new

BufferedReader(new FileReader("d:gname.txt"));

String content1 = br.readLine();

String[] arr = strToString(content1);

goodname arr.length);

for (int i = 0; i < goodname.length; i++) {

if (!goodname[i].equals("null")) {

sign++;

=

(String[])

Arrays.copyOf(arr,

}

}

} else if ("goodprice".equals(name)) {

br

=

new

BufferedReader(new FileReader("d:gprice.txt"));

String content2 = br.readLine();

double[] arr = doubleToString(content2);

goodprice arr.length);

} else if ("goodnum".equals(name)) {

br

=

new

BufferedReader(new

=

(double[])

Arrays.copyOf(arr, FileReader("d:gnum.txt"));

String content3 = br.readLine();

int[] arr = intToString(content3);

goodnum = (int[]) Arrays.copyOf(arr, arr.length);

} else if ("cname".equals(name)) {

br

=

new

BufferedReader(new FileReader("d:cname.txt"));

String content4 = br.readLine();

String[] arr = strToString(content4);

cname arr.length);

= (String[]) Arrays.copyOf(arr,

for (int i = 0; i < cname.length; i++) {

if (!cname[i].equals("null")) {

sign1++;

}

}

} else if ("cpass".equals(name)) {

br

=

new

BufferedReader(new FileReader("d:cpass.txt"));

String content5 = br.readLine();

String[] arr = strToString(content5);

cpass arr.length);

} else {

br

=

new

BufferedReader(new

=

(String[])

Arrays.copyOf(arr, FileReader("d:gout.txt"));

String content6 = br.readLine();

int[] arr = intToString(content6);

goodout = (int[]) Arrays.copyOf(arr, arr.length);

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

} /* * 将字符串转换成字符串数组 */ static String strToString(String[] arry) {

// String arrys="";

// for(int i=0;i

// {

// arrys=arry+arry[i]+",";

// }

// //arrys=arrys+arry[arry.length-1];

// System.out.println(arrys);

// return arrys;

StringBuilder sb = new StringBuilder();

for (int i = 0; i < arry.length; i++) {

sb.append(arry[i]).append(",");

}

sb.deleteCharAt(sb.length() - 1);

// System.out.println(sb.toString());

return sb.toString(); } /* * 将字符串转换成字符串数组 */ static String[] strToString(String ar) {

String[] arry = ar.split(","); return arry; } /* * 将int型数组转换成字符串 */ static String intToString(int[] arrr) {

String ss = "";

ss = Arrays.toString(arrr);

String sss

=

ss.replace("[",

"").replace("]", "").replace(" ", "");

第四篇:Java图书管理系统实习报告

陕西科技大学毕业实习(专业实习)报告

一、 实习目的

本次实习的目的主要有2个:

(一) 通过亲手对计算机硬件的拆卸,对计算机的硬件要有更深刻的认识和理解。

(二) 通过设计图书管理系统,对相关编程知识有了更进一步的运用,以及其具体实现的细节也有了更深刻的认识。

二、 实习单位及岗位介绍

本次实习在陕西科技大学理学院的综合实验室进行。

三、 实习安排

本次实习的时间是三周:前一周进行硬件实习,后两周进行软件实习。

四、 实习内容

(一) 硬件实习:

2月23日开始了为期1周的硬件实习,在这段时间里,主要是进行了对计算机主机进行了装卸,通过装卸让我们对计算机内部各个部件的协同工作有了更深的认识。 (二) 软件实习:

3月1日开始了为期2周的软件实习。我选择的题目是“图书管理系统”, 对于这个题目,整个系统是由3个数据表,3类用户,以及4类动作。 1. 配置数据库

在SQL Server2000中创建图书管理系统的数据库demo,创建3个数据表books,bookBrowse,UserTable。

2. 生成配置文件hibernate.cfg.xml.文件如下:

1

陕西科技大学毕业实习(专业实习)报告

3. 创建持久化对象以及创建映射文件:

4.Hibernate操作数据库的方法(HibernateUtil.java)。

2

陕西科技大学毕业实习(专业实习)报告

5. 系统主界面(LibraryWindow.java)。 6. 用户管理:

1) 用户登录(UserLogin.java) 2) 添加用户(UserAdd.java) 3) 修改用户(UserModify.java) 4) 删除用户(UserDelete.java) 7. 书籍管理模块:

1) 书籍添加(BookAdd.java)

2) 书籍信息修改(BookModify.java) 3) 书籍删除(BookDelete.java) 4) 书籍列表(BookList.java) 8. 借书管理模块:

1) 借阅图书类(BorrowBook.java) 2) 修改出借图书信息(BorrowInfo.java) 9.

还书管理模块:

1) 书籍还入(ReturnBook.java) 2) 还书信息类(ReturnInfo.java) 10. 部分运行效果图如下:

3

陕西科技大学毕业实习(专业实习)报告

4

陕西科技大学毕业实习(专业实习)报告

五、 实习总结和体会

通过这次实习,我对计算机的软件和硬件有了全面的了解。

拿硬件来说吧,以前也就是听说过什么总线,cpu,主板,硬盘这些概念,通过实习我真实的接触了这些部件,对其内部的安装有了直接的认识。 拿软件来说,这次我做这个系统只要是应用java语言的AWT元件和swing组件,以及hibernate实现从对象到关系的映射,其实我做的时候对hibernate也不是很了解,但是做的过程发现了困难就会主动的去找各种资源寻求解答,当然这个过程就是成长的过程。软件架构或者语言有很多很多,所以,我还得好好努力啊。

5

第五篇:人员信息管理系统 java课程设计

大学人员信息管理系统

1 / 29

目录

目录 ....................................................................................................................................... 1 设计任务书 ............................................................................................................................... 2 课程设计任务 ........................................................................................................................... 2 程序功能实现: ....................................................................................................................... 3 1.程序主体 ............................................................................................................................ 3 2.流程图: ............................................................................................................................ 4 3.模块说明 ............................................................................................................................ 4 3.1、主菜单四个选项 ...................................................................................................... 4 3.

2、教师功能菜单 .......................................................................................................... 5 3.3、学生功能菜单 .......................................................................................................... 5 3.

4、查找菜单 .................................................................................................................. 6 4.源代码及说明 ................................................................................................................. 6 4.1、listStuTea 类 ............................................................................................................ 6 4.

2、Menu 类 ................................................................................................................ 10 4.3、StudnTeach 类 ....................................................................................................... 16 4.

4、Student 类 ............................................................................................................. 19 4.5、Teacher 类 ............................................................................................................. 19 4.

6、Person 类 ............................................................................................................... 20 4.7、lkExecption类 ........................................................................................................ 21 4.

8、MainStuTea类........................................................................................................ 23 5.操作方法和测试结果 ...................................................................................................... 24 5.1.1、教师信息显示 ..................................................................................................... 24 5.1.

2、教师信息添加 ..................................................................................................... 24 5.1.3、教师信息删除 ..................................................................................................... 25 5.1.

4、教师信息查找 ..................................................................................................... 26 5.2、学生菜单实现 ........................................................................................................ 28 6.设计体会 .......................................................................................................................... 28

Java程序设计 大学人员信息管理系统

2 / 29

设计任务书

问题描述:

编写程序对大学里的人员进行管理。大学里的人员主要由学生、教师和在职进修教师(既是学生又是教师)组成,各类人员均有姓名、电话和住址等信息,学生另有所属专业信息,教师另有所在系部、授课信息及工资信息,在职进修教师具备以上各类人员的信息。

要求:

1、设计Person类,保存各类人员均有的姓名、电话和住址等信息。

2、设计Student类或接口,继承Person类,并添加所属专业班级信息。

3、设计Teacher类接口,继承Person类,并添加所在系部信息,授课信息及工资信息。

4、设计StudenTeacher类,继承Student类接口和Teache类接口。其具备以上各类人员信息。

5、把创建的所有StudenTeacher对象按照其所属系部依次组织在一个文件中方便查询、修改、删除及添加等操作。

6、对各类的对象进行信息输入操作,输入信息包括该类对象的所有信息。

7、对各类的对象进行输出操作,显示输出该类对象的所有信息

课程设计任务及设计人

设计任务:

大学人员信息管理系统 课程目的:

1、复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;

2、课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力;

Java程序设计 大学人员信息管理系统

3 / 29

3、培养学生在项目开发中团队合作精神、创新意识及能力。

课程要求:

1、对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;

2、系统设计要实用,编程简练,可用,功能全面

3、说明书、流程图要清楚

4、记录设计情况(备查,也为编写设计说明书作好准备);

5、要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。

6、本设计需要实现Java的面向对象开发运用到的有Java的接口,Java的继承,Java的异常处理,Java类的封装。能够在异常输入的情况下,能正确处理。最后得到正确结果。

程序功能实现:

一、

二、

三、

四、

五、

六、

按照课程的要求实现学生和教师的基本信息的录入。 把输入的教师和学生信息显示出来。

有姓名和专业两种查找方式去分别把老师和学生的信息查找并且显示出来。 删除选项可以删除相应学生和老师信息。

用switch语句实现菜单功能,字符界面做到简洁清晰

异常处理处理错误的输入并且返回错误的提示,更正后填入正确数据。

1.程序主体

1、 设计分析:

1.1、 实体是实现程序思想的主要方式,首先应该分为学生和老师2个入口,分别做查询和信息添加、显示、删除和查找的功能。

1.2、 学生和老师的信息输入考虑要求多名信息考虑用对象数组去实现。但是对象数组的删除不是本学期的内容。且排序麻烦。考虑用其他方式实现信息录入,查阅相关信息发现可以使用list对象实现信息录入和删除。

1.3、 菜单使用switch语句实现菜单功能,菜单的相互调用实现功能的循环。

Java程序设计 大学人员信息管理系统

4 / 29

2.流程图:

3.模块说明

3.1、主菜单四个选项

学生入口:

Java程序设计 大学人员信息管理系统

5 / 29

这个模块与学生功能模块相连。

教师入口:

这个模块与教师功能模块相连

显示全部信息:

这个模块显示所有的老师和学生信息

3.2、教师功能菜单

显示教师信息:

这个模块显示输入的教师信息,如果不存在提示输入信息

添加教师信息:

这个模块添加教师基本信息

删除教师信息:

这个模块按照序号删除教师信息,如果不存在提示信息输入

查找教师信息:

按照姓名和专业查找教师信息

返回上一级菜单: 返回主菜单

3.3、学生功能菜单

显示学生信息:

这个模块显示输入的教师信息,如果不存在提示输入信息

添加学生信息:

这个模块添加教师基本信息

删除学生信息:

这个模块按照序号删除教师信息,如果不存在提示信息输入

查找学生信息:

按照姓名和专业查找学生信息

返回上一级菜单: 返回主菜单

Java程序设计 大学人员信息管理系统

6 / 29

3.4、查找菜单

按照姓名查找:

查找模块,按照姓名查找,如果不存在则提示输入信息。 按照专业查找:

查找模块,按照专业查找,如果不存在则提示输入信息。

返回上一级菜单: 返回主菜单

4.源代码及说明

4.1、listStuTea 类

用来实现学生和教师数据添加、删除、查找的方法

import java.util.*; import lkExecption.LKExecption; public class listStuTea extends StudnTeach{

final int SIZE = 50;//最大学生和教师人数

listStuTea[] st = new listStuTea[SIZE];//学生和老师对象数组 Scanner into = new Scanner(System.in); List list1=new ArrayList(); List list2=new ArrayList(); public int getTeaNumber() //返回教师链表长度 { } public int getStuNumber() //返回学生链表长度 { } public int getNumber() { // TODO Auto-generated method stub return list2.size()+list1.size(); return list2.size(); return list1.size(); Java程序设计 大学人员信息管理系统

7 / 29

} public void FindStuName() {

} public void FindTeaName() {

String tpname; boolean zy = true; StudnTeach point; System.out.println("请输入教师姓名:"); tpname = into.nextLine(); for(int i = 0;i

} point =list1.get(i); if(tpname.equals(point.name)) {

} //break; System.out.println("要查找的姓名存在"); { showTea(i,point); zy = false; //标志位 } String tpname; boolean zy = true; StudnTeach point; System.out.println("请输入学生姓名:"); tpname = into.nextLine(); for(int i = 0;i

} if(zy) System.out.println("没有该学生"); if(getStuNumber()==0) System.out.println("警告!!!学生数据为空请添加数据"); point =list2.get(i); if(tpname.equals(point.name)) {

} System.out.println("要查找的姓名存在"); showStu(i,point); zy = false; Java程序设计 大学人员信息管理系统

8 / 29

if(zy) System.out.println("没有该老师"); if(getTeaNumber()==0) System.out.println("警告!!!老师数据为空请添加数据");

} {

public void FindteaSpec() String tpSpec; boolean zy = true; StudnTeach point; System.out.println("请输入教师专业:"); tpSpec = into.nextLine(); for(int i = 0;i

} if(zy) System.out.println("没有该专业的老师"); if(getTeaNumber()==0) System.out.println("警告!!!老师数据为空请添加数据"); point =list1.get(i); if(tpSpec.equals(point.getteaSpeciality())) { showTea(i,point); zy = false;//标志位 }

} {

public void FindstuSpec() String tpStu; boolean zy = true; StudnTeach point; System.out.println("请输入学生专业:"); tpStu = into.nextLine(); for(int i = 0;i

} if(zy) System.out.println("没有选修该专业的学生"); point =list2.get(i); if(tpStu.equals(point.getstuSpeciality())) { showStu(i,point); zy = false;//标志位 } Java程序设计 大学人员信息管理系统

9 / 29

if(getStuNumber()==0) System.out.println("警告!!!学生数据为空请添加数据"); } public void showStu(int n,StudnTeach point) { point=list2.get(n); System.out.println("学生编号:"+n);

System.out.println("姓名:"+point.name+" 性别:"+point.sex+" 年龄:"+point.age);

System.out.println("电话:"+point.phone); System.out.println("地址:"+point.address); System.out.println("专业:"+point.getstuSpeciality()); System.out.println("班级:"+point.getClassname()); }

public void showTea(int n,StudnTeach point) { point=list1.get(n); System.out.println("教师编号:"+n);

System.out.println("姓名:"+point.name+" 性别:"+point.sex+" 年龄:"+point.age);

System.out.println("电话:"+point.phone); System.out.println("地址:"+point.address); System.out.println("专业:"+point.getteaSpeciality()); System.out.println("工资:"+point.getPay()); }

public void addstu(int n) throws LKExecption {

st[n] = new listStuTea(); st[n].add(); st[n].setClassname(); st[n].setstuSpeciality(); list2.add(st[n]); if(list2.size()!=0) System.out.println("添加学生成功");

}

public void addtea(int n) throws LKExecption {

st[n] = new listStuTea(); st[n].add(); st[n].setteaSpeciality(); Java程序设计 大学人员信息管理系统

10 / 29

}

st[n].setPay(); list1.add(st[n]); if(list1.size()!=0) System.out.println("添加教师成功");

}

public void delTea() {

}

public void delStu() {

} System.out.println("请输入被删的学生编号"); int k =into.nextInt(); if(list2.size()<=k||k<0) System.out.println("删除失败!编号不存在请重新输入!"); else { list2.remove(k); System.out.println("删除成功"); } System.out.println("请输入被删的教师编号"); int k =into.nextInt(); if(list1.size()<=k||k<0) System.out.println("删除失败!编号不存在请重新输入!"); else { list1.remove(k); System.out.println("删除成功"); } 4.2、Menu 类

字符菜单的实现

import java.util.*; import lkExecption.LKExecption; public class Menu {

Scanner into = new Scanner(System.in); int num = 0; List list=new ArrayList(); Java程序设计 大学人员信息管理系统

11 / 29

StudnTeach point = new listStuTea();//遍历指针 public Menu() throws LKExecption{ } public int setIn() {

} void MainMenu() throws LKExecption//主菜单 { System.out.println("================"); System.out.println("1.教师入口"); System.out.println("2.学生入口"); System.out.println("3.显示全部信息"); System.out.println("4.退出管理"); switchMainMenu(); } void FindMenu()//查找菜单 {

} void MenuTea1_1() throws LKExecption//老师菜单 {

System.out.println("----------------"); System.out.println("1.显示教师信息"); System.out.println("2.添加教师信息"); System.out.println("3.删除教师信息"); System.out.println("4.查找教师信息"); System.out.println("5.返回上一级菜单"); System.out.println("----------------"); System.out.println("1.按照姓名查找"); System.out.println("2.按照专业查找"); System.out.println("3.返回上一级菜单"); //switchMainMenu(); int t; String tpNum = null; try{

} catch(NumberFormatException e) { } return t; t = new LKExecption().Num1Execption(tpNum); System.out.println("请输入选项"); tpNum = into.nextLine(); t = Integer.parseInt(tpNum); MainMenu(); Java程序设计 大学人员信息管理系统

12 / 29

} switchMenuTea1_1(); void MenuStu1_1() throws LKExecption//学生菜单 {

} void switchFindStuMenu() throws LKExecption//查找学生菜单 {

} void switchFindTeaMenu() throws LKExecption//查找教师菜单 {

int t; t = setIn(); switch(t) { case 1: int t; t = setIn(); switch(t) { case 1:

} point.FindStuName(); FindMenu(); switchFindStuMenu(); break; point.FindstuSpec(); FindMenu(); switchFindStuMenu(); break; MenuStu1_1(); switchMenuStu1_1(); break; System.out.println("输入错误请重新输入"); switchFindStuMenu(); System.out.println("----------------"); System.out.println("1.显示学生信息"); System.out.println("2.添加学生信息"); System.out.println("3.删除学生信息"); System.out.println("4.查找学生信息"); System.out.println("5.返回上一级菜单"); switchMenuStu1_1(); case 2: case 3: default: Java程序设计 大学人员信息管理系统

13 / 29

} void switchMainMenu() throws LKExecption//主菜单 {

int t; t = setIn(); switch(t) { case 1:

MenuTea1_1();//老师显示菜单

break; MenuStu1_1();//学生显示菜单

break; if(point.getNumber()==0) System.out.println("警告!!!数据为空请添加数据"); else{

} for(int i = 0;i

point.showTea(i,point); point.showStu(i,point); for(int i = 0;i

} point.FindteaSpec(); FindMenu(); switchFindTeaMenu(); break; MenuTea1_1(); switchMenuTea1_1(); break; System.out.println("输入错误请重新输入"); switchFindTeaMenu();

point.FindTeaName(); FindMenu(); switchFindTeaMenu(); break; case 2: case 3: default: case 2: case 3: Java程序设计 大学人员信息管理系统

14 / 29

}

} MainMenu(); break; System.out.println("欢迎再次光临!大学人员信息管理系统!!"); break; System.out.println("输入错误请重新输入"); switchMainMenu(); case 4: default: void switchMenuTea1_1() throws LKExecption {

System.out.println("----------------"); int t; t = setIn(); switch(t) { case 1:

if(point.getTeaNumber()==0) System.out.println("警告!!!教师数据为空请添加数据"); for(int i = 0;i

FindMenu(); switchFindTeaMenu(); break; MainMenu(); break; case 2: case 3: case 4: case 5: Java程序设计 大学人员信息管理系统

15 / 29

}

} default:

} System.out.println("输入错误请重新输入"); switchMenuTea1_1(); void switchMenuStu1_1() throws LKExecption {

} System.out.println("----------------"); int t; t = setIn(); switch(t) { case 1:

} if(point.getStuNumber()==0) System.out.println("警告!!!学生数据为空请添加数据"); for(int i = 0;i

Java程序设计 大学人员信息管理系统

16 / 29

4.3、StudnTeach 类

继承于教师和学生接口实现它们抽象方法,且继承人类属性。

import java.util.*;

import lkExecption.LKExecption; class StudnTeach extends Person implements Student,Teacher{

Scanner into = new Scanner(System.in); float pay = 0;//工资

String classname = null;//班级 String stuSpec = null;//老师专业 String teaSpec = null;//学生专业

void add() throws LKExecption {

}

public void addstu(int n) throws LKExecption{

}

public void addtea(int n) throws LKExecption{

}

public void setPay() {

String tpNum = null; try{ //add();

//setteaSpeciality(); //setPay() ; //add();

//setClassname(); //setstuSpeciality(); setName(); setSex(); setAge(); setPhone (); System.out.println("请输入地址"); address = into.nextLine();

Java程序设计 大学人员信息管理系统

17 / 29

}

} System.out.println("请输入工资:"); tpNum = into.nextLine(); pay = Integer.parseInt(tpNum); catch(NumberFormatException e) { } pay = new LKExecption().Num1Execption(tpNum); public float getPay() {

}

public void setClassname() {

}

public String getClassname() {

}

public void setstuSpeciality() {

}

public String getstuSpeciality() {

}

return stuSpec;

System.out.println("请输入专业:"); stuSpec = into.nextLine();

return classname;

System.out.println("请输入班级:"); classname = into.nextLine();

return pay; Java程序设计 大学人员信息管理系统

public void setteaSpeciality() {

System.out.println("请输入专业:");

teaSpec = into.nextLine();

}

public String getteaSpeciality() {

return teaSpec; }

public void show(boolean b, int num, StudnTeach point) {

}

public void showStu(int num, StudnTeach point) {

}

public void showTea(int num, StudnTeach point) {

}

public int getStuNumber() {

return 0; }

public int getTeaNumber() {

return 0; }

public int getNumber() {

return 0; }

public void delStu() {

} Java程序设计

18 / 29 大学人员信息管理系统

19 / 29

} public void FindteaSpec() { } public void FindTeaName() { } public void FindstuSpec() { } public void FindStuName() { } public void delTea() { }

4.4、Student 类

接口、学生的抽象方法

public interface Student {

} abstract void setstuSpeciality(); abstract String getstuSpeciality(); abstract void setClassname(); abstract String getClassname();

4.5、Teacher 类

接口、教师的抽象方法

public interface Teacher { Java程序设计 大学人员信息管理系统

20 / 29

} abstract void setteaSpeciality(); abstract String getteaSpeciality(); abstract void setPay(); abstract float getPay();

4.6、Person 类

定义人类的基本属性

import java.util.*; import lkExecption.LKExecption; public class Person {

Scanner into = new Scanner(System.in); String name; int phone; String address; String sex; int age; public void setName() {

} public void setSex() throws LKExecption {

} public void setAge() { String tpAge = null; try{ System.out.println("请输入性别:"); sex = into.nextLine(); if(sex.equals("man")||sex.equals("woman")) {} else

} catch(LKExecption lk) { } sex = new LKExecption().sexExecption(sex); throw new LKExecption(); System.out.println("请输入姓名:"); name = into.nextLine(); Java程序设计 大学人员信息管理系统

21 / 29

}

} try{

} catch(NumberFormatException e) { } age = new LKExecption().NumExecption(tpAge); System.out.println("请输入年龄:"); tpAge = into.nextLine(); age = Integer.parseInt(tpAge); public void setPhone () {

} String tpNum = null; try{

} catch(NumberFormatException e) { } phone = new LKExecption().Num1Execption(tpNum); System.out.println("请输入电话号码:"); tpNum = into.nextLine(); phone = Integer.parseInt(tpNum);

4.7、lkExecption类

自定义异常类

package lkExecption; import java.util.Scanner; public class LKExecption extends Exception {

Scanner into = new Scanner(System.in); public String sexExecption(String mg) {

String str; boolean pd = true; do{

System.out.println(mg+" 不是正确的性别,正确的性别为 man 或者 woman"); str = into.next(); Java程序设计 大学人员信息管理系统

22 / 29

} //System.out.println(mg+" 验证");

if(str.equals("man")||str.equals("woman")) { } }while(pd); return str; pd = false; public int NumExecption(String mg) {

String num = null; int tpNum = 0; boolean pd = true; System.out.println(mg+" 请正确的数字或者不在范围内!请重新输入!!"); do{

try{

} catch(NumberFormatException e) { System.out.println(num+" 请正确的数字或者不在范围内!请重新输num = into.nextLine(); tpNum = Integer.parseInt(num); if(tpNum>120||tpNum<0) //范围判断 throw new NumberFormatException(); else pd = false; 入!!");

}

} public String charExecption(String mg) {

final String[] str={"null"};//这里指定 规定字段 boolean pd = true; do{ System.out.println(mg+" 不是正确字段,请输入指定的字段"); mg = into.next(); for(int i =0;i

23 / 29

}

} } }while(pd); return mg; public int Num1Execption(String mg) {

} String num; int tpNum = 0; System.out.println(mg+" 不是数字!请输入数字!!"); do{

try{

} catch(NumberFormatException e) { System.out.println(mg+" 不是数字!请输入数字!!"); } num = into.nextLine(); tpNum = Integer.parseInt(num); break; }while(true); return tpNum; 4.8、MainStuTea类

主函数调用

import lkExecption.LKExecption; public class MainStuTea {

} public static void main(String[] args) throws LKExecption { Menu lk = new Menu(); }

Java程序设计 大学人员信息管理系统

24 / 29

5.操作方法和测试结果 5.1.1、教师信息显示

选择一进入教师信息入口

选择一进入教师信息查看

因为我们没有添加教师信息,所以他要求我们添加教师信息

5.1.2、教师信息添加

选择二进入教师信息添加

Java程序设计 大学人员信息管理系统

25 / 29

教师信息添加成功,如果不是指定字段输入,出现异常则重新输入 如下为添加的信息输入显示

5.1.3、教师信息删除

Java程序设计 大学人员信息管理系统

26 / 29

5.1.4、教师信息查找

专业查找

现在添加三个教师信息,如下显示

首先使用专业查找,我们查找computer专业的

Java程序设计 大学人员信息管理系统

27 / 29

查找其他math专业

查找不存在的专业

姓名查找

再添加一个同名的教师

查找lisi Java程序设计 大学人员信息管理系统

28 / 29

5.2、学生菜单实现

学生信息采取同样测试

6.设计体会

这个课程设计可以的设计心得,可谓十分波折。全部的源代码都出自自己,其中的list排列我们还没有学习。在这里要感谢google感谢baidu。没有他们就没有今天的代码。当然网上只有相似的课题没有相同的代码,list排列经过自己一小时的摸索可以了解了部分的运用,首先写了一个test类来测试这个用法

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

public class test { public static void main(String[] args) {

System.out.println("开始:"); String a = "A", b = "B", c = "C", d = "D", e = "E"; List list = new LinkedList(); list.add(a); list.add(e); list.add(d); Java程序设计 大学人员信息管理系统

29 / 29

list.set(1, b);// 将索引位置为1的对象e修改为对象b list.add(2, c);// 将对象c添加到索引位置为2的位置 list.add(e); list.remove(1); Iterator it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } }

System.out.println("结束!"); } } 再想了一下把它添加进了listStuTea对象,全都的代码完成用了一天的时间,在原来想起写500多行的代码几乎是不可能的,但是在这个课程设计中实现了。这个课程设计真的使自己学到了很多的东西。在接口的使用还不是很好的和实际模型很多的结合起来,这是锻炼较少的原因,前期的分析也幼稚的表现了自己在这方面的不足,在层次结构上浪费了较多的时间。 总之在这方面的锻炼还是比较少,我想不管是在以后布置下来的课程设计才去编写代码,这是不可行的,得在平时多多锻炼。

Java程序设计