java开发毕业论文 第1篇
本文围绕Java编程语言在网络编程方面的具体应用,论述了使用面向对象方法,对计算器程序进行需求分析、概要设计、详细设计,最后使用Java编程实现的全过程。
java语言,是目前比较流行的编程语言。经过10多年的发展,java已经渗透到全球每个角落。在当今这个网络的时代,java语言在网络编程方面的优势使得网络编程有了更好的选择。Java语言最令人瞩目的特点是具有跨平台性,使其不受平台不同的影响,并得到了广泛的应用。
设计内容:设计GUI界面的计算器。用户可以通过鼠标依次输入参加计算的数值,进行加、减、乘、除等混合运算。
设计要求:
1.系统界面的上面是数字输入对话框,用来显示所输入的数字和运行的结果。
2.系统界面下面的左侧是记忆 + - * /。
3. 系统界面下面的中部是数字输入按钮,用来输入数字。
4.系统界面下面的右侧是运算符号按钮,用来实现具体的运算。
关键字:java面向对象 计算器 网络编程
第一章 概述
设计目的
计算器是日常生活中十分便捷有效的工具,能实现加、减、乘、除、开方、求倒数等简单运算的功能。本论文采用java编程语言实现计算器功能。该计算器大大的降低了数字计算的难度并且提高了计算的准确度和精确度。使用简单,适合广大工作人员和中小学生使用。
计算器系统概述
标准计算器的界面采用“图形界面程序设计(GUI)”。GUI为用户和应用程序之间的交互提供了直观、方便的交流方式。用户使用鼠标、键盘操作图形界面上的按钮、菜单等元素湘计算机系统发送命令,系统运行的结果以图形的方式显示给用户。
编写java计算器主要使用了Swing组件和AWT布局类。Swing组件主要包括按钮、标签、文本输入类、等组件,AWT主要运用了其中的布局管理器。
Swing组件
Swing组件的按钮用JButton类表示,计算器的界面主要由JButton按钮组成,以响应用户的操作;
Swing中的标签用JLabel类表示,标签上可以显示图标和文本;
Swing的文本输入类包括文本框JTextField、文本区JTextArea和密码框JPasswordField。
本计算器中仅仅使用了文本框JTextField,用于文本数字的显示。
AWT组件
布局管理器管理组件如何放置在容器中,AWT中最常用的四种布局类:FlowLayout、BorderLayout、GridLayout、CardLayout。本项目主要采用了GridLayout布局。
功能模块设计
★标准计算器。
以下是标准计算器的各项功能:
(1)加法:
两个及两个以上数据进行加法操作,可以为小数形式。
(2)减法:
两个及两个以上数据进行减法操作,可以为负数形式。
(3)乘法:
两个及两个以上数据进行乘法操作。
(4)除法:
两个及两个以上数据进行除法操作。
(5)开平方:
对任意数开平方,可以为小数(不能为负数)。
(6)求倒数:
对任意数求倒数,0除外。
(7)求百分数:
对任意一个数进行百分号操作。
系统功能图。
标准计算器
求倒数
开平方
求百分号
图 计算器系统功能图
第二章 项目设计说明
标准计算器设计界面
图 计算器设计界面
标准计算器设计主要代码
标准计算器主要由一个菜单栏、一个文本框、27个按钮组成。
整体框架代码
JFrame f = new JFrame(_标准计算器_);
(400, 300);
Container contentPane = ();
菜单栏代码
图 菜单栏
JMenuBar mBar = new JMenuBar();
(true);
java开发毕业论文 第2篇
[1]穆丹. 集成JavaEE框架构建MIS系统的研究与实现[D].长安大学,2008.
[2]张绍林. 基于JavaEE5体系的联网售票系统设计与实现[D].天津大学,2008.
[3]王向兵. JavaEE多层架构Struts2+Spring3+Hibernate3+Ajax的整合[D].大连海事大学,2009.
[4]张俐,张维玺. 基于JavaEE的固定资产管理系统的设计与实现[J]. 计算机工程与设计,2009,16:3797-3800.
[5]吴锋. 基于SSI框架JavaEE技术研究[D].合肥工业大学,2009.
[6]刘慧. 基于JavaEE的在线交易系统关键技术研究[D].大连海事大学,2010.
[7]王瑞矫. 基于JavaEE的实训平台的设计与实现[D].北京邮电大学,2012.
[8]解智. 基于JavaEE轻量级架构的安全电子拍卖系统设计[D].武汉工业学院,2012.
[9]王茜. 基于JavaEE的人事考核管理系统的设计与实现[D].厦门大学,2014.
[10]贾进. 基于JavaEE的统一信息平台设计与实现[D].厦门大学,2014.
[11]于涛. 基于JavaEE的信息管理系统研究与设计实现[D].华东师范大学,2010.
[12]原宏. 基于JAVAEE电子政务操作教学系统的设计与实现[D].电子科技大学,2013.
[13]邱崇志. 基于JavaEE技术网上在线考试系统[D].电子科技大学,2013.
[14]葛扬瑛. 基于javaEE和工作流的项目申报系统的设计与实现[D].电子科技大学,2013.
[15]肖洁. 基于JavaEE的人力资源管理系统的分析与设计[D].厦门大学,2013.
[16]杨永林. 基于JavaEE的云南省地税局办公自动化系统设计与实现[D].厦门大学,2013.
[17]桂许军. 基于JavaEE平台与Lucene的信息文档搜索引擎系统的设计与实现
[D].西南交通大学,2011.
[18]李国娟. 基于JavaEE架构的网上购物系统的设计与实现[D].河北工业大学,2011.
[19]邹利艳,杨浮群,高纯波,徐丽. 基于JavaEE架构的旅游电子商务平台的设计开发[J]. 电脑知识与技术,2011,04:712-714.
[20]毕继安. 基于JavaEE的小型快速开发平台的设计与实现[D].中国科学院大学(工程管理与信息技术学院),2014.
java开发毕业论文 第3篇
一、引言
加深对《Java2面向对象程序设计》课程所学知识的理解,进一步巩固 Java语言的语法规则。分析系统的可行性,让系统有一个明确的方向,使开发更具合理性,并能分析出系统的具体流程,为后面的开发做好铺垫。明确本次课程设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于JAVA的应用系统综合实例,来掌握Java语言编程技巧。并学会编制结构清晰、风格良好的、数据结构适当的Java语言程序,从而具备解决综合性实际问题的能力
二、课题内容
用Java设计一个职工信息管理系统,并实现相关功能。
三、系统程序要求
1、设计一个职工信息管理系统
2、要求包括职工信息包括职工号、姓名、性别、年龄、学历、工资、
住 址、电话(职工号不重复)
3、本系统功能描述:
职工信息录入功能(职工信息用文本保存);
职工信息浏览功能;
查询功能(至少一种查询方式):
按工资查询, 按学历查询
4、职工信息删除、修改功能(这两个功能任选)。
四、程序设计思想
该课题要求是输入职工信息,对职工信息进行一系列的处理。既要输入工号又要能查找到与之对应的职工,还要对实现建立,显示,查找,删除,信息的保存。
因为考虑到信息管理信息的实用性,我额外添加了一个“读文件”功能,使利用void read()方法来实现的。这个“读文件模块_!是我用来扩充信息管理系统功能的!可以使系统在用户不用输入信息就能读取先前已存在的职工信息文件。
根据课题要求,我是这样设计的:首先对要实现的功能类型分为三大类——Public类、方法类、信息类;然后细分为六个方法——void caidan()、void creat()、void output()、void search()、void delete()、void read ()。这些类和方法构成了能够实现不同功能的模块,很好地体现了面向对象的Java语言的编程模块块的思想。
我通过调用各功能模块的几个方法,随后在各个method中具体实现相关的功能。当然要利用throws IOException进行一些异常处理,包括输入异常和数据的异常。在数据的录入与输出的过程中涉及到文件的相关操作(包括打开与关闭等)最后是系统的安全退出。大部分功能都是在具体的模块中加以实现的。
如search方法实现查询职工信息功能;caidan方法实现系统选择菜单界面的输出等相关功能;delete方法用于职工信息删除;output方法用于职工信息的输出及浏览等系列功能。
五、程序源代码及其解析
package staff;//包
import .*;
public class StaffInfomation {
public static void main(final String[] args) throws IOException
//throws IOException用来抛出io的错误,文件读写错误, 主要涉及到java的安全机制
staffInfo staffOne[]=new staffInfo[100]; //定义100个类数组
for(int j=0;j<100;j++) staffOne[j] = new staffInfo();
//建立这100个类的对象
final ways staffTwo=new ways(); //建立这个方法类的对象
(staffOne);
(staffOne);
(staffOne);
(staffOne);
(staffOne);
//以上几个方法分别对应着:caidan菜单选择、增加(建立)职工信息、输出(预览)、查询、删除这些功能,以数组类为参数
class staffInfo
//职工信息类换句话说就相当与c语言里面的结构体,存放职工的信息
public String name;
public String num;
public String sex;
public String age;
public String record;
public String position;
public String wanges;
public String tel;
public String addr;
//把name、num、sex、age、record等声明为全局变量,因为它们贯穿于整个程序中,方便其它方法、类调用它们
class ways //方法类,主要实现职工信息的建立,显示,查找,删除,信息的保存与读取;这个类是整个程序的操作类。
public String recordkey;
public int i=0;//i用来存放职工的人数
public String filename=__;
BufferedReader buf=new BufferedReader(new InputStreamReader());
//此处是JAVA语言中输入数据的基本格式,功能有如C中的scanf函数
void caidan(staffInfo staffOne[]) throws IOException
final BufferedReader buf=new BufferedReader(new InputStreamReader());
// 参看书34页,产生Buf对象;buf是BufferedReader类的变量,此处将读入字符串至buf
int choice;
do{
(_☆★☆★☆★☆★电子信息系40706班★贺 雪 设计★☆★☆★☆\n\n_);
(_┏━━━━━━━━━━━━━━━━━━┓_);
(_┃★ 职工管理系统主菜单界面 ★┃_);
(_┣━━━━━━━━━━━━━━━━━━┫_);
(_┃ ★①.输入职工信息 ★ ┃_);
(_┃ ★ ②.预览职工信息 ★ ┃_);
(_┃ ★ ③.查找职工信息 ★ ┃_);
(_┃ ★ ④.删除职工信息 ★ ┃_);
(_┃ ★⑤.安全退出系统 ★ ┃_);
(_┃ ★ ⑥.读取数据 ★ ┃_);
(_┗━━━━━━━━━━━━━━━━━━┛_);
(_ 请输入您的选择(0--6):_);
choice=(());
switch(choice)
case 1:creat(staffOne);break;
case 2:output(staffOne);break;
case 3:search(staffOne);break;
case 4:delete(staffOne);break;
case 5:save(staffOne);break;
case 6:read(staffOne);break;
}while(choice!=0);
void creat(staffInfo staffOne[]) throws IOException
//这个方法是实现“增加(建立)职工信息”;是建立信息模块
final BufferedReader buf=new BufferedReader(new InputStreamReader());
(_\n请输入职工信息(以0结束)\n_);
(_姓名:\n\n_);
staffOne[i].name=();
while(staffOne[i].(_0_)!=0)
//用数组staffOne[i]来暂存职工的序 号,并用compareTo方 法确定判定是否应该写入新信息
(_工号:\n\n_);
staffOne[i].num=();
(_性别:\n\n_);
staffOne[i].sex=();
(_年龄:\n\n_);
staffOne[i].age=();
(_学历:\n\n_);
staffOne[i].record=();
(_职位:\n\n_);
staffOne[i].position=();
(_工资:\n\n_);
staffOne[i].wanges=();
(_电话:\n\n_);
staffOne[i].tel=();
(_住址:\n\n_);
staffOne[i].addr=();
i++;
(_请输入下一个职工信息:\n\n_);
staffOne[i].name=();
void output(staffInfo staffOne[]) throws IOException
//这里是实现“输出(预览)职工信息”output的模块
(_--------------------------------------_);
(_ *员工信息表* );
(_------------------------------------_);
(_姓名 工号 性别 年龄 学历 职位 工资 电话号码 住址_);
(_---------------------------------_);
if(i!=0)
for(int j=0;j
(staffOne[j].name+_ _+staffOne[j].num+_ _+staffOne[j].sex+_ _);
(staffOne[j].age+_ _+staffOne[j].record+_ _+staffOne[j].position+_ _);
(staffOne[j].wanges+_ _+staffOne[j].tel+_ _+staffOne[j].addr+_\n_);
(_------------------------------_);
else (_没有员工信息!_);
void search(staffInfo staffOne[]) throws IOException
//这里是实现职工信息的查询功能的模块
final BufferedReader buf=new BufferedReader(new InputStreamReader());
(_\n请输入您要查找的职工学历:_);
recordkey=();
boolean flg=true;
(_------------------------------------_);
(_ *员工信息表* );
(_-----------------------------------_);
(_姓名 工号 性别 年龄 学历 职位 工资 电话号码 住址_);
(_---------------------------------------_);
for(int j=0;j
if((staffOne[j].record))
//equals是字符串比较函数相等返回true
(staffOne[j].name+_ _+staffOne[j].num+_ _+staffOne[j].sex+_ _);
(staffOne[j].age+_ _+staffOne[j].record+_ _+staffOne[j].position+_ _);
(staffOne[j].wanges+_ _+staffOne[j].tel+_ _+staffOne[j].addr+_\n_);
flg=false;
if(flg)
(_对不起,查无此人!_);
void delete(staffInfo staffOne[]) throws IOException
final BufferedReader buf=new BufferedReader(new InputStreamReader());
(_\n请输入您要删除的职工姓名:_);
recordkey=();
boolean flg=true;
for(int j=0;j
(_staffOne[j].name=_+staffOne[j].name);
(_recordkey=_+recordkey);
(_(staffOne[j].name)=_+(staffOne[j].name));
if((staffOne[j].name))
for(int k=j;k<=i-1;k++)
//利用顺序表的删除算法,删除值之后,再把后面的值往前移位,从而实现删除
staffOne[k].name=staffOne[k+1].name ;
staffOne[k].num=staffOne[k+1].num ;
staffOne[k].sex=staffOne[k+1].sex ;
staffOne[k].age=staffOne[k+1].age ;
staffOne[k].record=staffOne[k+1].record ;
staffOne[k].position=staffOne[k+1].position ;
staffOne[k].wanges=staffOne[k+1].wanges ;
staffOne[k].tel=staffOne[k+1].tel ;
staffOne[k].addr=staffOne[k+1].addr ;
i--;//职工人数要减一
flg=false;
if(flg)
(_对不起,查无此人!。_);
else (_已经删除!。_);
void save(staffInfo staffOne[]) throws IOException
//数据的保存模块, 把输入的职工信息保存到相应的文件里。
int k;
final FileWriter fw=new FileWriter(filename);
//调用构造函数FileWriter()创建FileWriter类的对象。
//文件的读取(书216页13-2-2)
( i+_\n_);//把职工的人数保存到文件中以便下次读取是使用
for( k=0;k
( staffOne[k].name+_\n_);
( staffOne[k].num+_\n_);
( staffOne[k].sex+_\n_ );
( staffOne[k].age+_\n_);
( staffOne[k].record+_\n_);
( staffOne[k].position+_\n_) ;
( staffOne[k].wanges+_\n_);
( staffOne[k].tel+_\n_);
( staffOne[k].addr+_\n_);
();
(_\n 系统已经安全退出!感谢您的使用!_);
(0);
void read(staffInfo staffOne[]) throws IOException
//这是程序的“读文件模块_!是我自己添加进去扩充系统功能的!可以使系统不用输入信息就能读取先前已存在的职工信息文件。
final FileReader fr=new FileReader(filename);
final BufferedReader bfr=new BufferedReader(fr);