搜档网
当前位置:搜档网 › java实训ATM取款机设计报告

java实训ATM取款机设计报告

java实训ATM取款机设计报告
java实训ATM取款机设计报告

吉林工程技术师范学院

信息工程学院

《 Java项目实训》

课程设计报告

题目: ATM取款机JAVA实训课程设计

专业:计算机科学与技术

班级: C1341

姓名:姜秋红

学号: 25

摘要

我选择的是“ATM取款机”,其目的主要是现在市面上的取款机功能不完善还有许多功能没有实现,用户对界面很熟悉,做起来更得心应手,所以的采用的界面和现在用户所用的界面基本相同,可以实现后台与前台的交互以及数据库之间的连接,使得我设计的ATM取款机更加完善。

利用jps网页设计一个总页面设计选择使用的用户是用户页面还是管理员页面,让使

用的人根据权限去使用不同的功能。

在我的ATM取款机上实现了ATM机的基本功能,其界面参照了和原系统基本相同的

界面。增加了一些管理员的功能。首先选择是用户登入还是管理员登入。选择用户登入,有查看,存款,取款,转账和修改密码等功能。选择管理员登入,有开户,销户,查询

等功能;利用这些更能,使得ATM更加完善。

关键字:ATM,查询,取款,转账,修改,界

目录

程序设计概念4

程序设计的目的4

课程设计的内容4

设计方案的论证5

概要设计5

需求分析5

技术可行性 5

经济可行性 5

设计实现内容6

数据字典6

成员变量6

方法设计6

页面如下7

数据流程图 7

测试运行及结果分析10

测试及问题探讨11

课设总结与体会12

致谢13

参考文献14

附录115

一、课程设计的概念

课程设计的目的

现代社会,ATM可以说是一种使用非常广泛的机器, ATM使用是非常频

繁的,然而由于程序及其机器本人的一些漏洞,导致ATM机的犯罪现象屡有

发生。该项目的开发有利于进一步提高ATM机的性能及安全性,模拟开发ATM系统软件,掌握系统开基本流程,在开发系统中可以巩固所学的有关软

件开发的知识,有利于提出优化改进现代ATM系统的建议。

课程设计的内容

银行ATM机的使用已经普及,人们都已习惯利用自动柜员机来提取现金,查询存款,转账,修改密码等等,我设计的ATM取款机添加了新的功能,具体功能如下:

管理员状态登入:

无用用户

二、设计方案的论证

概要设计

《JAVA程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专

业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JAVA程序设计的

设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网

络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基

础进行软件开发、并在实践应用方面打下一定基础。?

需求分析

ATM设计的主要目标为:管理员登陆时要写入账户的名和身份证号在数据库

里进行匹配,匹配成功则登入否则在前台显示账号或密码错误;普通用户登

入时要写入银行卡号和所属银行卡号的密码,在数据库中进行匹配,匹配成

功即登入否则在前台显示账号或密码错误

可行性分析法是对工程项目技术经济论证技术经济论证经济合理性综合分析的方法。其目的是通过对技术先进程度,经济合理性和条件可能性的分析论证,选择

以最小的人力、物力、财力耗费,取得最佳技术、经济、社会效益的切实方案。

它是解决项目投资前期分析的主要手段。

三、设计实现内容

系统功能结构设计

数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、

外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细

的说明,使用数据字典为简单的建模项目。

成员变量

成员变量也叫类的属性,一般带有访问控制属性的,而全局变量虽然也有类

的属性,但全局变量严重影响了封装和模块化,一般的全局变量前面要加上static和?fina属性其中,static使该变量任何类都可用(方法?ClassName.

全局变量名)?,而?fina则使得变量不可更改,基本上算是常量了,这也在

一定程度上防止对变量的非法修改。

方法设计

方法名称为任何合乎语法的识别字,返回值类型是方法执行结果返回给

调用者的数据类型,void表示没有返回值,参数行(parameter?list)是调用

时给予的参数声明,两个以上的参数声明以逗号隔开,若没有参数则参数行

为空白,调用时每一个参数对应一个参数值(argument)大括号内为方法本体,也称为方法程序模块(block),包含声明(declarations)和语句(statements),声明也可以掺杂在语句之间。一个方法不能声明在另一个方法内。

表方法定义

数据流程图

图选择方式登入

四、测试运行及结果分析

1、用户向ATM提款机中插入银行卡,如果银行卡是合法的,ATM提款机界面提示用户输入提款密码;

2、用户输入该银行卡的密码,ATM提款机与MainFrame传递密码,检验密码的正确性。如果输入密码正确,提示用户输入取钱金额,提示信息为,“请输入您的提款额度”;

3、用户输入取钱金额,系统校验金额正确,提示用户确认,提示信息为“您输入的金额是xxx,请确认,谢谢!”,用户按下确认键,确认需要提取的金额;

4、系统同步银行主机,点钞票,输出给用户,并且减掉数据库中该用户帐户中的存款金额。

5、用户提款,银行卡自动退出,用户取走现金,拔出银行卡,ATM提款机界面恢复到初始状态;

五、测试及问题探讨

如果插入无效的银行卡,那么,在ATM提款机界面上提示用户“您使用的银行卡无效!”,3秒钟后,自动退出该银行卡。?

如果用户输入的密码错误,则提示用户“您输入的密码无效,请重新输入”

如果用户连续3次输入错误密码,ATM提款机吞卡,并且ATM提款机的界面恢复到初始状态。此时,其他提款人可以继续使用其他的合法的银行卡在ATM提款机上提取现金。

用户输入错误的密码后,也可以按“退出”键,则银行卡自动退出。

如果用户输入的单笔提款金额超过单笔提款上限,ATM提款机界面提示“您输入的金额错误,单笔提款上限金额是2500RMB,请重新输入”;

如果用户输入的单笔金额,不是以50RMB为单位的,那么提示用户“您输入的提款金额错误,请输入以50为单位的金额”;

如果用户输入正确的提款金额,ATM提款机提示用户确认后,用户取消提款,则ATM提款机自动退出该银行卡;

如果ATM提款机中余额不足,则提示用户,“抱歉,ATM提款机中余额不足”,3秒钟后,自动退出银行卡

如果用户银行户头中的存款小于提款金额,则提示用户“抱歉,您的存款余

额不足!”,3秒钟后,自动退出银行卡;

如果用户没有取走现金,或者没有拔出银行卡,ATM提款机不做任何提示,直

接恢复到界面的初始状态;

六、课设总结与体会

大约一个星期的编写JAVA程序,发现自己不懂的地方很多,在完成这个设计的时候,我总是被一些小的,细的问题挡住前进的步伐,让我总是为了解决一

个小问题而花费很长的时间,甚至做到很晚,最好猛然发现自己缺少一个定义或

者还要查阅其他的书籍才能找出解决的办法。例如,我定义了一个链表,可是向

里面添加东西的时候,总是出错,后来在上机的时候问老师,才知道链表没有初

始化,这是自己的粗心造成的。我在做设计的过程中发现有很多东西,我都还不

知道。在做进制转换时不知道函数怎么写,是我上网查到的,再经过修改查到我

的程序中。其实在用语言来编程的时候,基础是一个不可缺少的知识,但是往往

一些核心的高层次的东西更是不可缺少。

七、致谢

通过这次课程设计还使我懂得了理论与实际相结合是很重要的,只有理论知

识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出

结论,才能真正为社会服务,

从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,并且还发现了自己的许多不足之处,对以前所学过的

知识理解得不够深刻,掌握得不够牢固。但通过这次课程设计之后,一定把

以前所学过的知识重新温故。

我完成了这次JAVA课程设计,不过这只是我学习路上的驿站。我相信我在

未来的学习中会记住从本次课程设计中所学到的东西,并将它用到未来的学

习中去。在这里谢谢老师的指导,我会更加努力的学习

八、参考文献

[1].张桂珠刘丽陈爱国 Java面向对象程序设计(第2版)北京邮电大学出版社

[2]毕广吉. Java程序设计实例教程. 北京:冶金工业出版社,2007年

[6]董迎红、王薇编着,Java程序设计案例教程与实训,北京大学出版社

[7]赵文靖编着,《Java程序设计基础与上机指导》,清华大学出版社

九、附录

package c;

import ;

import ;

public class Zong implements JieK {

public void kh(info u)throws ClassNotFoundException, SQLException{

String pid = ();

String user_name = ();

String telephone = ();

String addr = ();

LianJie lj=new LianJie();

Connection con = ();

String sql = "{call kaihu(?,?,?,?)}";

CallableStatement cs = (sql);

(1,pid);

(2,user_name );

(3,telephone );

(4,addr);

();

();

}

public void xh (String user_id)throws ClassNotFoundException, SQLException{

Connection con = null;

LianJie lj=new LianJie();

con = ();

String sql = "{call xiaohu(?)}";

CallableStatement cs = (sql);

(1,user_id);

();

}

public List cx(String pid,String user_id) throws ClassNotFoundException, SQLException{

Connection con = null;

con = ();

Statement sta = null;

String sql = "SELECT * FROM userinfo where 1=1";

if (pid != null && pid!=""){

sql = sql+" and pid='"+ pid+"'";

}

if (user_id != null && user_id!=""){

sql = sql+" and user_id='"+ user_id+"'";

}

sta = ();

ResultSet rs = null;

rs = (sql);

List list=null;

list = new ArrayList();

while()){

String user_id1 = (1);

String user_name = (2);

String pid1 = (3);

String telephone = (4);

String addr = (5);

info s = new info();

(user_id1);

(user_name);

(pid1);

(telephone);

(addr);

(s);

}

return list;

}

public List yhcx(String card_id)throws ClassNotFoundException,SQLException{ Connection con = null;

con = ();

PreparedStatement ps =null;

String sql1="select ,,,,, from cardinfo c,userinfo u where = and card_id=? ";

ps = (sql1);

(1,card_id);

ResultSet rs = ();

List li=new ArrayList();

while()){

String user_id=(1);

String user_name=(2);

String telephone=(3);

String card_id1=(4);

Date open_date=(5);

int balance=(6);

info info=new info( );

(user_id);

(user_name);

(telephone);

(card_id1);

(open_date);

(balance);

(info);

}

return li;

}

public void jiaoyi(info u) throws ClassNotFoundException,SQLException{

String card_id = ();

String trans_type=();

int trans_money=();

String card_id1 = ();

Connection con = null;

con = ();

String sql = "{call user_money(?,?,?,?)}";

CallableStatement cs = (sql);

(1, trans_type);

(2, card_id);

(3, trans_money);

(4, card_id1);

();

}

public List yhjy(String card_id) throws ClassNotFoundException, SQLException{ Connection con = null;

LianJie lj=new LianJie();

con = ();

Statement sta = null;

String sql = "SELECT * FROM transinfo where 1=1";

if (card_id != null && card_id!=""){

sql = sql+" and card_id='"+ card_id+"'";

}

sta = ();

ResultSet rs = null;

rs = (sql);

List list=null;

list = new ArrayList();

while()){

Date trans_date = (1);

String card_id1 = (2);

int balance = (3);

String trans_type = (4);

int trans_money = (5);

String remark = (6);

info s = new info();

String a=();

(a);

(card_id1);

(balance);

(trans_type);

(trans_money);

(remark);

(s);

}

return list;

}

public info dl(String user_id,String passwd)throws ClassNotFoundException, SQLException{

Connection con = null;

LianJie lj=new LianJie();

con = ();

Statement sta = ();

String sql = "SELECT card_id FROM cardinfo where user_id='"+user_id+"' and passwd='"+passwd+"'" ;

ResultSet rs = null;

rs = (sql);

String card_id=null;

info in=null;

while()){

in = new info();

card_id = ("card_id");

(card_id);

}

();

();

return in;

}

public List card(String user_id) throws SQLException, ClassNotFoundException{

Connection con = null;

LianJie lj=new LianJie();

con = ();

Statement sta = ();

String sql = "SELECT * FROM cardinfo where user_id='"+user_id+"'" ;

ResultSet rs = null;

rs = (sql);

String card_id=null;

List list=null;

list = new ArrayList();

while()){

card_id = ("card_id");

Date open_date = ("open_date");

int open_money = ("open_money");

int balance = ("balance");

String passwd = ("passwd");

user_id = ("user_id");

info in=new info( );

(card_id);

(open_date);

(open_money);

(balance);

(passwd);

(user_id);

(in);

}

();

();

return list;

}

public List select(String user_id) throws Exception {

Connection con = null;

LianJie lj=new LianJie();

con = ();

PreparedStatement ps =null;

String sq3="select * from userinfo where user_id=?";

if(user_id==null||("")){

sq3="select * from userinfo";

ps = (sq3);

}else{

ps = (sq3);

(1,user_id);

}

ResultSet rs = ();

List li=new ArrayList();

while()){

String user_id1=(1);

String user_name=(2);

String pid=(3);

String telephone=(4);

String addr=(5);

info info=new info( );

(addr);

(pid);

(telephone);

(user_id1);

(user_name);

(info);

}

return li;

}

public void update(info in) throws SQLException,ClassNotFoundException{

String userid = ();

String username = ();

String telephone = () ;

String addr = ();

String sq8="update userinfo set USER_NAME=?,TELEPHONE=?,ADDR=? where user_id=?";

Connection con = null;

LianJie lj=new LianJie();

con = ();

PreparedStatement sta=con. prepareStatement(sq8);

(4, userid);

(1, username);

(2, telephone);

(3, addr);

();

();

();

}

public String id(String user_name)throws Exception{

LianJie lj=new LianJie();

Connection con = ();

String sq7="select user_id from userinfo where user_name=? ";

PreparedStatement st=(sq7);

(1,user_name);

ResultSet rs=();

String user_id1=null;

while()){

user_id1= ("user_id");

}

return user_id1;

}

public List yhselect(String card_id) throws Exception { Connection con = null;

LianJie lj=new LianJie();

con = ();

PreparedStatement ps =null;

String sq3="select * from cardinfo where card_id=?";

if(card_id==null||("")){

sq3="select * from cardinfo";

ps = (sq3);

}else{

ps = (sq3);

(1,card_id);

}

ResultSet rs = ();

List list=new ArrayList();

while()){

card_id = ("card_id");

Date open_date = ("open_date");

int open_money = ("open_money");

int balance = ("balance");

String passwd = ("passwd");

String user_id = ("user_id");

info in=new info( );

(card_id);

(open_date);

(open_money);

(balance);

(passwd);

(user_id);

(in);

}

return list;

}

public void yhupdate(info in) throws SQLException,ClassNotFoundException{ String card_id = ();

String passwd= ();

String sq8="update cardinfo set passwd=? where card_id=?";

Connection con = null;

LianJie lj=new LianJie();

con = ();

PreparedStatement sta=con. prepareStatement(sq8);

(1,passwd);

(2,card_id);

();

();

();

}

public List yhc(String card_id,String passwd) throws ClassNotFoundException, SQLException{

Connection con = null;

LianJie lj=new LianJie();

con = ();

Statement sta = null;

// if (card_id != null && card_id!=""){

//

// }

String sql = "SELECT ,,,,,,, FROM cardinfo a,userinfo b where = and ='"+ card_id+"' and ='"+passwd+"'";

sta = ();

ResultSet rs = null;

rs = (sql);

List list=null;

list = new ArrayList();

while()){

String passwd1 = ("passwd");

int open_money=("open_money");

String user_id = ("user_id");

String user_name = ("user_name");

String telephone = ("telephone");

card_id = ("card_id");

Date open_date = ("open_date");

int balance = ("balance");

info in=new info( );

(passwd1);

(open_money);

(user_id);

(user_name);

(telephone);

(card_id);

(open_date);

(balance);

(in);

}

return list;

}

public info jiaoyan(String card_id,String passwd) throws ClassNotFoundException, SQLException {

Connection con = null;

LianJie lj=new LianJie();

con = ();

String sql = "SELECT card_id FROM cardinfo where card_id='"+card_id+"' and passwd='"+passwd+"'";

Statement sta = ();

ResultSet rs = (sql);

info s = new info();

while()){

String card_id1 = (1);

(card_id1);

}

return s;

}

public info GLjiaoyan(String user_id,String PID) throws ClassNotFoundException, SQLException {

Connection con = null;

LianJie lj=new LianJie();

con = ();

String sql = "SELECT user_id FROM userinfo where user_id='"+user_id+"' and PID='"+PID+"'";

Statement sta = ();

ResultSet rs = (sql);

info s = new info();

while()){

String user_id1 = (1);

(user_id1);

}

return s;

}

}

(完整版)java课程设计——客户管理系统源代码

完整代码: 1.客户类(class person): package客户管理系统; public class Person { private int num; private String name; private String address; private String sex; public Person(){} public Person(int num,String name,String address,String sex){ this.num=num; https://www.sodocs.net/doc/1a18807567.html,=name; this.address=address; this.sex=sex; } public void setNum(int num){ this.num=num; } public int getNum(){ return num; } public void setName(String name){ https://www.sodocs.net/doc/1a18807567.html,=name; } public String getName(){ return name; } public void setAddress(String address){ this.address=address; } public String getAddress(){ return address;

} public void setSex(String sex){ this.sex=sex; } public String getSex(){ return sex; } public String toString() { return"\t"+num+"\t"+name+"\t"+address+"\t"+sex; } } 2.菜单类(class Menu): package客户管理系统; import java.util.Scanner; public class Menu { Scanner input=new Scanner(System.in); public Menu() {} public int showMenu() { 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("【5】浏览"); System.out.println("【6】退出"); System.out.println("***********************************" ); System.out.print("请选择操作:");

计算器java课程设计(完整版)

《面向对象程序设计》课程设计报告 课程设计题目:计算器 学生姓名:李婉如 专业:信息管理与信息系统 班级:1424603 指导教师:司红伟 2016年 5 月 25 日

一、课设任务及要求 1)课设任务: ⑴设计的计算器应用程序可以完成加法、减法、乘法、除法以及取余运 算(可以进行浮点数和负数的运算)。 ⑵有求倒数、退格和清零功能。 2)创新要求: 能进行正切、余弦,以及求平方根、指数(包括对e)、自然对数运算。 3)设计要求 ①设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。 ②课程设计可选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效率,通过资料查阅和学习尽可能熟练掌握其中一种集成开发环境。 ③认真按时完成课程设计报告,课程设计报告内容包括:设计任务与要求、需求分析、设计思路、详细设计、运行调试与分析讨论和设计体会与小结六个部分。

二、设计思路 ⑴本应用程序继承自框架类(JFrame),容器Container c采用BorderLayout 边缘布局,将单行文本框加入到“North”区域,包含各种按钮的面板JPanel p加入到”Center”区域。包含各种按钮的面板JPanel p 采用3行6列的网格布局,然后将数字按钮和运算符按钮以及控制按钮用一个for循环添加到面板中同时注册按钮事件监听器。如: Button b=new Button(); b.addActionListener(事件监听器); ⑵事件监听器中的事件处理方法void actionPerformed(ActionEvent evt)完成主要的按钮事件的处理。事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”…”8”,”9”)、运算符按钮事件(”+”,”-“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”=”)、求倒按钮事件(”求倒”)、退格按钮事件(”退格”)、清除按钮事件(“C”) 、正切(tan)、余弦(cos),以及求平方根(sqrt)、指数(pow)、对e的指数(exp)、对数运算(log)。 ⑶在事件处理,触发按钮事件时,先判断是或是数字是或是“-/+”是或是“.”,是的话就将负号“-”、数字、小数点“.”分别写入文本框并存放在sum中,然后判断是或是“退格”、“求倒”等,是的话进行相应的处理,都不是的话则跳到doOperation()执行运算同时将运算符存放在preOperater中。触发按钮事件时,要进一步分析,是重新开始计算时触发的按钮事件还是计算中间触发的按钮事件。 ⑷计算器完成的是一个数学表达式,如:3+2,所以可以采用一个数组来存储数字或字符,如3,+,2分别存储在数组中,最后运算时,可以一一取出来进行运算。 ⑸利用按钮设计计算器的各个运算符和操作符,通过按钮的事件处理实现按钮计算功能。 ⑹利用文本框显示操作数和运算结果。

《Java程序设计》课程设计-ATM柜员机

宝鸡文理学院计算机科学系《Java程序设计》课程设计 设计题目:ATM柜员机 班级:2008级本科2班 组长: 组员: 指导教师: 二零一零年六月二十九日 目录

1、项目任务书 (2) 2、项目开发计划 (4) 3、项目需求说明书 (8) 4、项目设计说明书 (9) 5、项目开发总结报告 (21) 6、使用说明 (28) 7、项目源程序代码 (28) 8、成绩评定表 (29)

1、项目任务书 1.1 设计的目的和要求 1.1.1 设计目的 加深学生对面向对象概念以及JAVA面向对象程序设计思想的理解和掌握;使学生熟悉开发一个项目的基本过程,培养学生分析问题和解决问题的能力,增强学生的动手能力。为后续学习和应用打下一定的基础。 1.1.2 设计要求 四个人一组协作完成,组长分工,并负责组内程序联试、文档质量检查及与教师联系。组内每个组员协调合作完成分工的课程设计部分。所完成的项目软件需经指导教师检查认可。 1.2 设计内容 1.功能需求 (1)用户登陆:检查用户使用的合法性。 (2)用户取款:可按1000,500,200,100元面额取款,1天内取款最多不能超过3000元,并记录取款信息。 (3)余额查询:显示余额。 (4)用户密码修改:密码只能由字母和数字组成,不少于6个字符。 (5)帮助:给出作者信息和帮助信息。 2.信息需求 ①登陆表 客户账号

②存取款表 密码 客户账号 余额

2、项目开发计划 2.1编写目的 我们的开发目的是在于了解ATM柜员机系统开发项目的流程,把在开发过程中对各项工作的人员、分工、系统资源条件等问题的安排用文档形式记载下来,以便根据本计划开展和检查本项目工作,保证项目开发成功。 2.2项目概述 2.2.1工作内容 1)需求分析 2)软件设计 3)代码设计:实现ATM柜员机代码 4)系统测试:测试程序 5)项目总结:收获 2.2.2主要参加人员 张少婷,宝鸡文理学院计算机科学系08级2班学生,精通java语言, 熟悉SQL语言。 宋红艳,宝鸡文理学院计算机科学系08级2班学生,熟悉java语言,熟悉SQL语言。 段严婷,宝鸡文理学院计算机科学系08级2班学生,熟悉java语言,熟悉SQL语言。

java课程设计要求与题目

《面向对象程序设计》综合实验指导书一.课程设计的目的和任务 《面向对象程序设计》课程设计是软件工程专业本科学生在学习完《面向对象程序设计》课程之后的一个重要的实践环节。要求学生在教师的指导下,综合运用在《面向对象程序设计》课程中学过的面向对象程序设计思想与Java编程技巧,独立完成一项较为完整、并具有一定难度的课程设计任务,加深对面向对象程序设计思想的理解,掌握利用Java语言编写具体的应用程序。培养学生的团队合作精神、良好的程序设计风格以及了解应用程序的设计开发过程和Java程序编程与测试的能力。二.总体要求: 1、每个班分若干个组,每组2-3人(自由组合)课程设计题目由任 课老师指定; 2、人员分工:组长1人、组员1到2人。组长可由小组人员自行选出 或自荐,组长的职责是负责与老师交流,合理安排分配本组的各项任务,任务有:系统总体设计、编码、测试、写文档。 3、程序编码总体要求: 编程工具统一使用Eclipse。 统一使用Java的AWT组件进行GUI编程(或Applet编程), 必须有登录界面,登录的用户名和密码为组长的名字的全 拼;非Applet程序要求有一个框架窗口,关闭窗口时要注意 处理窗口事件退出程序。 程序编码时,必须严格遵守Java程序标识符的一般约定,并 要加适量的注释。 4、程序编码完成后,一定要进行严密的测试工作。 5、文档内容要求: 封面(见封面文件)。以下每个内容为一章; 项目计划(内容是:小组人员名单与所负责的工作)。 程序详细功能描述(描述你的程序能完成什么功能)。要求 200字左右。 程序使用说明(对程序的每个操作步骤的屏幕画面进行载 图,并加以文字说明)。 此次课程设计的编程心得。要求每人50字以上。 文档的字体与大小,统一采用“宋体五号字”;要将以上内容 合写成一篇完整的文档;文档头要加入标题和目录索引。 6、程序完成后,要提交文档与程序(包括源码,每组提交一份),

java记事本课程设计论文附源码

设计题目:记事本课程设计 专业:电子信息科学与技术 班级:电子1202班 学号:20121210606 姓名:王鹏 2015 年7月

XXX学院本科学生课程设计任务书

摘要 目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此次课程设计主要通过编写一个简单的记事本程序使我们深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等内容。此简易记事本程序,使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能。该程序主要用到了Java swing和事件监听等。 关键词记事本程序,java语言,Java swing

目录 摘要 (1) 1 需求分析 (3) 1.1需求分析 (3) 1.2功能设计 (3) 2 概要分析 (4) 2.1概要设计思想 (4) 2.2程序运行界面 (4) 2.3程序模块说明 (4) 2.4流程图 (5) 2.5程序相关说明 (6) 3 程序详细设计与分析 (8) 3.1构建菜单栏及其下拉菜单 (8) 3.2“文件”菜单操作的事件监听 (8) 3.3“编辑”、“格式”等菜单的事件监听 (10) 3.4异常处理 (11) 4 测试分析 (12) 5 源程序清单 (15) 结论 (22) 参考文献 (23)

1 需求分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。 1.2功能设计 本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: 1、菜单中有“文件”,“编辑”,“格式”,“查看”,“帮助”五个主菜单。 2、“文件”有“新建”“打开”“保存”“另存为”“退出”五个子菜单:分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。 3、“编辑”中有“撤销”“剪切”“复制”“粘贴”“全选”“时间/日期”六个字菜单:用于撤销操作,剪切文字,复制文字,粘贴文字。全部选择,插入日期、时间。 4、“格式”菜单中有“自动换行”和“字体”两个子菜单。 5、“查看”菜单只是显示状态栏。 6、“帮助”菜单中只有“关于记事本”子菜单,主要用于显示该程序的名字,版本等信息。

java课程设计 计算器[1]解析

JA V A程序设计期末结课大作业 姓名张可新 学号(20123259) 班级信工1202 题目 java课程设计++计算器 成绩汇总 考核内容成绩 程序实现的功能(10分) 程序类图结构(10分) 方法间调用关系(10分) 程序代码(40分) 程序代码注释(10分) 运行结果(10分) 总结体会(10分) 总成绩 阅卷人

目录 一、课程设计任务及要求 (3) 二、需求分析 (3) 三、设计思路 (3) 四、详细设计 (4) 五、运行调试与分析讨论 (9) 六、设计体会与小结 (11) 七、参考文献 (12) 八、附录 (13)

1. 一、课程设计任务及要求 设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算。通过对计算器的编辑来检测和提升自己的java编程能力,并最终完成课程设计报告! 二、需求分析 2.设计的计算器可以完成加法、减法、乘法、除法的简单运算。 3.实现一些简单的扩展运算,如:正负号、倒数、退格、清零等功能。 4.添加小数点功能,用以实现浮点型数据的计算。 5.使用布局管理器设计一个计算器的界面,使用事件监听器处理数据的输入,并完成相关的计算 三、设计思路 1.界面设计:(如图3-1) 图3-1 2.设计思路: (1)根据所设计出来的界面,首先要设计其GUI界面,总体界面有一个

文本框,20个按钮,总体界面用BorderLayout布局,文本框放置在 最NORTH,然后0到9以及+,-,*,/等按钮放置到一个面板Panel 中,完成界面设计。 (2)设计计算流程,首先点击数字按钮时,将按钮数值添加到文本框当中,并将该数值保存到一个字符串中,再次点击数字按钮时,将之 前保存的字符串与新的数值拼接起来,再添加到文本框当中,直到 点击运算符按钮时,将文本框当中的字符串保存在一个字符串变量 中,然后重置文本框内容,将运算符号显示到文本框中,随后输入 第二个计算数据时,用同样的办法保存数据,最后通过控制“=”运 算符先将字符串数据转化成双精度类型,然后计算出结果并显示到 文本框当中。 (3)基本运算设计完成以后则开始考虑其他个别功能的实现,例如倒数、清零、退格等功能的实现,清零直接重置文本框内容,退格功能则 采用substring函数截取字符串长度。 四、详细设计 1.程序流程图: 2.主要代码展示及说明:

课程设计—java记事本

import javax.swing.*; import javax.swing.undo.*; import javax.swing.text.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; import java.text.*; import java.util.*; import java.awt.datatransfer.*; import java.awt.print.*; import java.io.*; public class Jishiben extends JFrame implements ActionListener { JPopupMenu pm ; JTextArea ta; boolean isNewFile=true; //是否新文件(未保存过的) File currentFile; //当前文件名 String oldValue; //存放编辑区原来的内容,用于比较文本是否有改动//protected UndoManager undo = new UndoManager(); //protected UndoableEditListener undoHandler = new UndoHandler(); JToolBar tbar = new JToolBar(); JCheckBoxMenuItem mt19; public Jishiben() { super("记事本"); //Container ct=getContentPane(); //以下三句是设置编辑区域及滚动条 ta = new JTextArea(); JScrollPane sp = new JScrollPane(ta); add(sp); JMenuBar mb = new JMenuBar(); //设置文件菜单 JMenu mu1 = new JMenu("文件(F)",true); mu1.setMnemonic('F');//设置快捷键按下ALT+F激活打开菜单 JMenuItem mt1 = new JMenuItem("新建(N)",'N'); mt1.setMnemonic('N'); //mt1.addActionListener(new new1()); JMenuItem mt2 = new JMenuItem("打开(O)...",'O'); mt2.setMnemonic('O'); mt2.addActionListener(this); JMenuItem mt3 = new JMenuItem("保存(S)",'S'); //mt3.addActionListener(new save()); mu1.add(mt3); JMenuItem mt4 = new JMenuItem("另存为(A)..."); JMenuItem mt5 = new JMenuItem("页面设置(A)..."); JMenuItem mt6 = new JMenuItem("打印(P)..."); JMenuItem mt7 = new JMenuItem("退出(X)",'X');

JAVA课程设计大纲

淮海工学院 课程设计教学大纲 课程名称:面向对象课程设计 开课系部:软件工程 撰写人:纪兆辉 审核人: 修(制)订日期:2008年3月 系(院)主管领导签章: 淮海工学院教务处

面向对象课程设计大纲 课程类别:必修学时:40 课程性质:集中实践教学学分:2 适用专业:软件工程、网络工程开课系部:软件工程 一、基本目的与任务 面向对象课程设计是软件工程、网络工程专业实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。其目的在于加深对面向对象理论和基本知识的理解,掌握使用Java语言进行面向对象程序设计的基本方法,提高运用面向对象知识解决实际问题的能力。基本任务是使得学生通过课程设计掌握利用java进行底层的网络应用程序设计、多媒体应用设计、JDBC编程的基本方法,学会综合利用awt包和Swing组件包进行图形用户界面的设计,同时,对java的事件委托模型、异常处理机制、包和接口的概念及多线程技术有比较熟练的把握。 二、教学基本内容 正确运用常用的包、工具类和算法,熟练进行对象类的定义和使用,综合运用图形界面元素构造应用程序界面,熟悉Applet的工作原理,熟练编写Java应用程序和Applet小程序。对网络编程、多媒体编程、JDBC技术能有较全面准确的把握并会综合运用解决实际问题。 在课程设计中,为了提高开发效率,建议尝试选用开发工具Eclipse、NetBeans、Jbuilder。设计的选题要围绕Java的面向对象特点,把如下一些知识点的运用组织到课程设计的选题当中: 包、接口、抽象类 常用工具与算法--数组、向量、字符串、链表等 Java的多线程技术与动画制作 Java的网络编程 Java的数据库连接技术---JDBC Java的异常处理机制 面向对象技术中的继承、重载、各种修饰符

学生信息管理系统java课程设计含源代码完整版

学生信息管理系统j a v a 课程设计含源代码 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 1 2 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的

java课程设计_ATM柜员机模拟程序文件

课程设计(大作业)报告 课程名称:面向对象程序设计课程设计设计题目:ATM柜员机模拟程序 院系:信息技术学院 班级: 设计者: 学号: 指导教师: 设计时间:2016-1-4-2016-1-8 信息技术学院 学院课程设计(大作业)任务书

课程设计(大作业)报告 一、题目分析 1.系统需求分析 (1)设计目标:随着市场经济的繁荣发展,人们的物质生活得到极大的提高,手中的剩余资金也日益增多。受传统观念影响,绝大多数人喜欢把资金投进银行,而在需要使用现金的时候再到银行提取现金。这就导致银行业务的急剧增加。虽然银行网点越来越多,银行的工作效率也随着信息化有较明显的增长,但是依旧不能满足广大用户的需要。而一味的增加营业网点,从理论上虽然能稍微的缓解银行的压力,但是治标不治本,而且每增加一个网点,不仅要付出昂贵的资金成本,还需要长期投入人力资本,成本非常之昂贵。这时候就迫切的需要一种自动的,易于普及的,低成本的设备来解决这一问题。于是ATM机系统应运而生了。 自动柜员机,即ATM,是指银行在不同地点设置一种小型机器,利用一信用卡大小的胶卡上的磁带记录客户的基本户口资料(通常就是银行卡),让客户可以透过机器进行提款、存款、转账等银行柜台服务,大多数客户都把这种自助机器称为自动提款机。 本文正是通过设计一个ATM模拟模拟程序来实现ATM机系统的基本功能,充分运用自己所学的Java知识进行设计编程。 (2)题目设计要求:本ATM柜员机的主要功能如下所述: 要求使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: ●查询余额:初始余额为10000元。 ●ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透 支。 ●ATM存款:不能出现负存款。 ●修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密 码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 2.ATM模拟系统总体设计结构 (1)设计思想:通过程序要求,我们可以清楚的知道本次设计的ATM柜员模拟程序需

java课程设计2013级大纲以及设计报告

珠海学院课程教学大纲 课程名称:java程序课程设计 适用专业: 2013级计算机科学与技术 课程类别:专业基础课 制订时间:2014年12月 计算机科学与技术系制

目录 1java程序课程设计教学大纲 2 java程序课程设计说明书 3 java程序课程设计报告(模板) 4 java程序课程设计成绩评定表 java程序课程设计教学大纲 (2011年制订,2014年修订) 一、课程编号: 二、前修课程:java程序设计 三、学分:2学分 四、学时: 32学时 五、课程性质与任务: 1.课程性质:《java程序课程设计》是吉林大学珠海学院计算机科学与技术系为本科生各专业开设的专业实践课。计算机科学与技术系本科生在完成《java 程序设计》课程学习后,通过本课程进入专业实践训练环节,其主要目的是使学生深入理解并实践在《java程序设计》课程中所学的有关知识,通过课程设计增强学生的实践动手能力,提高学生独立分析和解决实际问题的能力。培养学生配合完成任务的能力,为学生毕业后的实际工作打好基础。 课程设计是培养学生综合运用所学知识锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。Java语言的应用十分广泛,例如大型信息系统、通信、网络控制等。java课程设计对增强学生对基础知识的掌握和综合运用是非常必要,对后续许多专业课程的学习和实践训练都具十分重要的意义。 2.课程任务:本课程要求学生在学习了java基础编程的相关技术后,将课本中多个章节的编程技术灵活运用到一些复杂的综合例题中去,使学生了解应用问题

的分析方法和设计解决实际问题的具体过程,掌握应用java进行程序设计的基本规范和技巧,掌握面向对象编程的设计思想,重点掌握java的基本语法规则、输入输出方法、网络编程、多线程编程、小应用程序、数据库编程的综合应用。通过编程掌握调试java程序的基本技巧、模块化应用程序和测试运行复杂应用程序的基本流程。 六、课程教学基本要求提供足够多的程序设计选题,题目应覆盖面较为广泛,部分题目要具有开放性,要求每个学生根据自己的实际情况选择题目,经教师批准后即可进入实际工作阶段。 课程设计结束对每个学生进行验收,要求每个学生提交合格的课程设计报告,还要保证程序能够运行,能够讲清楚自己的工作。老师在检查过程中可针对程序提出问题,学生回答,若程序无法运行得到结果并且具有大量编译错误,而且对程序的内容无法正确解释,则实践老师可以根据实际情况给予评分为不及格,若程序可以运行,但完成的界面以及方法不够完善,则酌情扣分,若程序运行无问题,则提问回答不好的也要相应扣分。课程设计课程集中安排在第十一周。每个同学都要提交初期、中期和最后的文档,提交课程设计报告,要求在规定时间内提交文档。最后验收时,若文档不全,成绩受到一定影响。 七、学时分配表 2011年 12 月8日 java程序课程设计说明书

java(源代码)连连看课程设计

目录 第一章引言 (2) 1.背景 (2) 1.1课程设计内容 (3) 第二章系统介绍 (4) 1.连连看游戏规则 (4) 1.1游戏基本规则 (4) 1.2操作规则 (4) 1.3胜利和失败 (4) 2.游戏流程图分析 (4) 第三章系统游戏设计 (7) 1.系统分析 (7) 1.1游戏系统需求分析 (7) 1.2系统开发及运行环境 (7) 1.3系统功能主要要求 (7) 2.系统总体结构 (8) 3. 系统各模块功能介绍 (8) 第四章系统的具体实现 (9) 1.系统主要运行界面 (9) 1.1运行界面 (9) 1.2执行界面,进入游戏正常运行 (9) 1.3时间到界面 (10) 1.4赢家界面 (11) 1.5进度条界面 (12) 图4.5程序运行进度条 (12) 2.游戏实现代码 (12) 2.1主面板内所需要的组件的声明 (12) 2.2填充一个矩形框,进行显示时间 (12) 2.3主面板及各组件初始化 (13) 2.4创建时间对象,每隔100毫秒刷新一次 (13) 2.5分数代码。 (13) 3.消除图片具体情况 (14) 3.1两次点击相同图片相邻 (14)

3.2水平方向消去算法 (14) 3.3竖直方向消去算法 (15) 第五章程序清单 (16) 第六章结束语 (24) 第七章参考文献 (25) 第一章引言 1.背景 游戏“连连看”顾名思义就是找出相关联的东西,这个连连看在网上基本是用在小游戏中,就是找出相同的两样东西,在一定的规则之内可以做为相关联处理。“连连看”的发展经历了从桌面游戏、在线游戏、社交游戏三个过程。 游戏“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。这其中,顾方编写的“阿达连连看”以其精良的制作广受好评,这也成为顾方“阿达系列软件”的核心产品。并于2004年,取得了国家版权局的计算机软件著作权登记证书。 随着Flash应用的流行,网上出现了多种在线Flash版本“连连看”。如“水晶连连看”、“果蔬连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。 2008年,随着社交网络的普及和开放平台的兴起,“连连看”被引入了社交网络。“连连看”与个人空间相结合,被快速的传播,成为一款热门的社交游戏,其中以开发者Jonevey在Manyou开放平台上推出的“宠物连连看”最为流行。 网络小游戏、网页游戏越来越受网民欢迎,除了玩的方法简单外(不像其他游戏还需要注册下载繁琐过程),很多游戏不乏经典。连连看游戏就是典型。 不管走到哪个网页游戏网站,连连看游戏总是排在受玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络、单机休闲小游戏。 游戏《连连看》,只要将相同的两张牌用三根以内的直线连在一起就可以消除,规则简单容易上手。游戏速度节奏快,画面清晰可爱,适合细心的玩家。丰富的道具和公共模式的加入,增强游戏的竞争性。多样式的地图,使玩家在各个游戏水平都可以寻找到挑战的目标,长期地保持游戏的新鲜感。 该游戏由30张不同的图片组成,游戏开始将会出现30张随机组合的图片,在规则下点击两张相同的图片后图片将会消失。图片全部消完为游戏成功。游戏还将设置退出,再来一局的按钮,并实现该功能,方便用户进行操作。

java课程设计计算器3科学计算器

import javax.swing.*;// 把 javax包里面的swing包里面的所有东西引进来 import java.awt.*;// 导入awt包里的所有java类 import java.awt.event.*;//导入包event import java.text.DecimalFormat;// 处理文本、日期、数字和消息的类和接口 import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.geom.Ellipse2D; import java.awt.geom.Line2D; import java.awt.geom.Point2D; public class biaozhunjisuanqi extends JFrame implements ActionListener {// public代表该类公有 //class声明一个类 // biaozhunjisuanqi为类名 // extends 是继承类 //implements代表实现接口 //窗体名称biaozhunjisuanqi继承JFrame类和ActionListener接口,并实现public void actionPerformed(ActionEvent e){}方法 private static final long serialVersionUID = 1L;// serialVersionUID相当于java类的身份证, 默认为1L, serialVersionUID作用是序列化时保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性 private JPanel jContentPane = null; // 创建面板对象, null代表为这些变量赋初值为空,即不分配内存空间,变量不指向任何地址。private是访问控制符,代表这些变量的访问级别为私有,私有级别只能在当前类中进行访问, 这些(JPanel 、JTextArea 、JPanel、 JButton )是java中AWT(包)中的类,用能进行桌面级应用程序的开发,就像平时用的word,上面有各种文本框,菜单栏,工具栏按钮等等,这些都是对象 private JPanel jPanel= null; //JPanel 作为一个容器,可以包容一些组件,然后将这个 JPanel

Java英汉电子字典课程设计源代码

用户需求分析: 英汉词典作为一个常用的学习工具,是我们经常要使用的。该系统能完成一个简单的电子词的功能。该系统主要用于实现英汉互译的功能,系统拥有自己的数据库。 1.英译汉功能:我们可以先选择让系统进行英译汉功能,然后在查找框中输入想要查询的英文单词,系统将自动在数据库中查找匹配记录并给出相对应的汉语意思。 2.汉译英功能:我们可以在系统中选择汉译英功能,然后在查找框中输入想要查询的汉语意思,系统将自动在数据库中查找匹配记录并给出相对应的英文单词 3.词汇的添加功能:用户可以添加词库没有的单词及其解释。添加成功后该单词将在次库保存,以便下次查询。 4.词汇的修改功能;用户可以实现对词库中已有单词及其解释的修改。修改后的结果将保存在词库中。 5.词汇的删除功能;用户可自行删除词库中已有的单词,同时次单词的解释也将被一同删除。 6.其他功能:此外,系统还具有帮助和关于等功能,用来辅助用户更方便简洁的使用电子词典。 package dianzicidian; import java.awt.*; import https://www.sodocs.net/doc/1a18807567.html,.*; import java.sql.*; import java.awt.event.*; import javax.swing.JOptionPane; import java.io.*; import sun.audio.*; class dzcd extends Frame implements ActionListener { MenuBar menubar=new MenuBar();//菜单 Menu fileMenu,editMenu,helpMenu; MenuItem fileenglish,filechinese,exit,editAdd,editmod,editDel; TextField inputtext; TextArea txt; Label label1,label2; Button btn1,btnsound; Panel p,p1,p2,p3; dzcd() { super("电子词典"); setBounds(200,300,350,400); setMenuBar(menubar);

java课程设计 计算器实际与实现

《面向对象程序设计》 课程设计报告 题目: 计算器设计与实现 专业: 班级: 姓名: 指导教师: 成绩: xx 201x 年 x 月xx 日 xxxxxx

目录 1 设计内容及要求 (1) 1.1设计内容 (1) 1.2设计任务及具体要求 (1) 2 概要设计 (1) 2.1 功能需求 (1) 2.2 系统的开发运行环境 (2) 3 设计过程 (2) 3.2系统功能模块 (3) 4 设计结果与分析 (4) 4.1功能模块的划分 (4) 4.2功能模块的实现 (4) 小结 (10) 5 参考文献 (11)

1 设计内容及要求 1.1设计内容 该程序是一个图形界面的简单Java计算器,具有良好的界面,使用人员能快捷简单的进行操作。即时准确地获得需要的计算结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。可以进行简单的四则运算(加、减、乘、除,等) 1.2设计任务及具体要求 计算器的设计与实现,使学生巩固和加深以Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java程序的水平。在日常生活中经常需要用到计算器,比如科学计算、数字计算、会计业务甚至是日常生活中的一些运算,当运算比较复杂时没有计算器就会显得很麻烦。为了解决日常生活中的困难,特意设计了这个计算器系统。 2 概要设计 2.1 功能需求 在日常生活中人们总是难以避免的要进行一些运算,当运算比较复杂时没有计算器就会显得很麻烦。为了解决日常生活中的困难,特意设计了这个计算器系统。在该系统中不仅可以进行整数的加、减、乘、除等简单运算,也可以进行浮点数的加、减、乘、除等运算。除此之外还可以进行三角函数、指数、对数、平方等运算。人们应用它可以解决日常生活中的一些运算问题,比如做买卖时进行交易的过程中就可以利用该计算器进行数量、价格以及金额的统计计算。学生也可以利用该计算器进行数学运算,解决简单的三角函数运算。

java课程设计方案

JAVA课程设计方案 1.设计目的与任务 本课程设计所要求达到的目的和任务:通过Java程序设计的一些重要理论基础来实现“写字留痕”的“日历”和“记事本”的双重功能。并通过此次课程设计的训练,使学生巩固和加深对Java这门课程的理解,通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果。通过这次课程设计,培养实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,逐步建立正确的全局观念。 设计方案 3.1总体设计 (1)问题定义:创建写字留痕,实现对某日期的事情进行记录这主要功能,并能显示设置的图片,增加美观。 (2)问题分析:通过对“写字留痕”这一题材的分析,我需要四个类来实现其“日历”和“记事本”这两大功能。通过主类N2创建动写字留痕软件的主窗口,该类含有main方法,程序从该类开始执行。再用余下YearMonth 、MonthPane类来显示并改变日期和实现记事本的功能。而ImagePanel类用来显示图片,Music类用来实现音乐的播放控制。 (3)研究意义:通过本次课程设计,我们掌握了Java语言的基本运用,提高了理论结合实际的能力。 3.2设计要求 (1)日记本使用Java语言开发设计。课程的基本功能包括万年历、记事本和辅助功能三个部分。 (2)万年历部分由微调器确定年月,由一组文本框显示日历。年月可选择数据符合逻辑,默认为当前日期。 (3)月历显示应该符合查看习惯,如星期六和星期日分别用不同颜色表示,当日可用特别的字号和颜色 (4)记事本区,记事本容按年月日记录且保存。 (5)微调器应该进行事件设置,以及即时地显示该年月的月历;日期文本框可监听鼠标事件,当单击任何一个日期时,若该日有记事容,则在日记本中显示该日期的记录文字;若该日无记录,记事区保持空白。 (6)日记本应该是开放的,容可按日期增减,保存应即时,删除需谨慎删除记录时,应进行对话框询问确定。

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

相关主题