文档库 最新最全的文档下载
当前位置:文档库 › java课程设计_ATM柜员机模拟程序文件

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

java课程设计_ATM柜员机模拟程序文件
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柜员模拟程序需要实现四大功能,即查询余额、取款、存款、修改密码。初次之外,作为ATM系统,还需要最基本的两大功能,即登陆和退出。

根据上述的功能分析,我们可以把整个ATM系统分为登陆模块、查询模块、取款模块、存款模块、修改密码模块。除此之外,还有在登陆系统后的功能选择模块,退出功能则镶嵌在各个需要的模块中。由于各个模块的功能实现是通过界面显示出来的,则程序设计又可以理解为几大界面的设计:登陆界面、主界面、查询余额界面、取款界面、存款界面、修改密码界面。除了几大界面之外,还有系统的初始化,主要是初始卡号、密码的设定等。

在程序的大体框架确定之后,我们需要了解各个模块所要实现和需要具有的功能。根据现有的银行ATM系统,我们可以很快就可以了解本次设计的ATM系统应该具有的操作。

a.登陆界面

用户输入正确的账号和密码就可以登录到该系统的主界面中去,进行相应的操作:取款、存款、查询、修改密码。

b.主界面

主界面包括查询、存款、取款、修改密码、退出的功能按钮,按下相应的按钮,可以进行相应的操作。

c.查询界面

在主界面中按下查询按钮可以进行查询操作。通过查询功能我们可以查询账户的余额,在查询过程中我们可以选择取款的业务,除此之外,查询界面之中还有返回和退出的操作。返回的操作会使用户回到主界面,退出的操作会使用户直接回到登陆界面。

d.取款界面

取款界面既可以通过主界面进入,也可以通过查询、存款等操作过程中的界面进入。取款功能在对话框中输入你想要取出的金额,但是次金额不可以比账户的余额大,且必须是100的整数倍,取款完毕,会弹出是否显示余额的提示,选“是”的话就会进入查询界面,选“否”的话,则回到主界面。

e.存款界面

在主界面按下存款按钮可以进行存款操作,在对话中输入你需要存入的金额,所输入的数字也要是100的整数倍,而且不可以是负数。存款完毕,会弹出是否显示余额的提示,选“是”的话就会进入查询界面,选“否”的话,则回到主界面。

f.修改密码

选择修改密码按钮可以进行修改密码房,但是要先输入就密码正确并且两次输入新密码一致才可以修改密码。修改完成后,会返回主界面。

(2)ATM柜员机总体流程图,如图图1

图1

(3)ATM柜员机模拟模拟系统UML图,如图图2

图2

3.系统开发及运行环境

软件平台:Eclipse,jdk全套软件,editpuls编辑器

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C++和Python等开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。

图3

二、各模块分析与实现

1.系统各模块介绍

代码中出现的Account类、MainFrame类、Load类、Take类、Input类、Setpew 类和Display类都继承了Java类JFrame。

(1)账户创建模块

Class Accout创建客户,初始化客户信息功能以及保存客户信息,例如:卡号、密码、原有余额、取款后卡里的余额以及存款后卡里的余额。此类包含的成员有:成员变量

account、count、password和方法构造方法Account()。实现了账户信息的初始化工作,设置默认账户信息,账号:123456,密码:123456。以便后续测试登陆时作为进入ATM模拟系统的信息凭证。

创建账户关键代码:

class Account {

private int count=10000; //初始账户余额10000

private String account="123456"; //初始账号

private String password="123456"; //初始密码

public Account() { //账户函数

}

public void setpw(String password){ //设置密码

this.password=password;

}

public void deccount(int money){ //deccount 取款

count-=money;//取款后再原来基础上减所取部分

}

public void reccount(int money){ //reccount 存款

count+=money;//存款后在原来基础上加所存部分

}

(2)主界面构造模块

Class MainFrame构造主界面,提供业务选择,让用户可以在这个界面选择存款、取款、查询余额、修改密码。它包含的成员有:构造方法MainFrame()和初始化主界面的方法initComponents()以及成员变量checked、cunkuan、quite、qukuan、reset。实现的功能主要为主界面的初始化,主界面的布局管理,设置好查询、存款、取款、退出、返回的操作按钮。

关键代码:class MainFrame extends JFrame { //主框架方法由JFrame继承而来public JButton checked; //检测

public JButton cunkuan; //存款

public JButton quit; //退出

public JButton qukuan; //取款

public JButton reset; //重设

//框架按钮参数

public MainFrame() { //主框架函数

initComponents(); //添加组件

this.setLocationRelativeTo(null); //设置窗口相对于指定组件的位置

this.setVisible(false); //隐藏其他窗口

}

(3)登陆模块

Class Load 实现登录功能和登录界面,如果用户名和密码匹配就可以登录到主界面否则报错。它的成员有:Jpassword、accountnum、committ、JL1、JL2和构造方法Load()和初始化方法initComponents()。

关键代码:class Load extends JFrame{

public JPasswordField Jpassword;

public JTextField accountnum;//

public JButton commit;//增删

private JLabel jL1;//设置对齐

private JLabel jL2;

public Load() {

initComponents(); //初始化添加组件的和添加监听器

this.setLocationRelativeTo(null);//使窗口至于屏幕中央

this.setVisible(true);

}

(4)取款模块

Class Take实现取款功能,按返回键返回主界面,按清除键可以删除输入数字,并且取出的金额必须是100的整数倍,一次取出的金额不能超过5000,取完款后可以显示余额。该类的成员有:back、clear、commit、quite、JL1、JT1和构造方法Take()和初始化的initComponents()。

关键代码:class Take extends JFrame {

p ublic JButton back;

public JButton clear;

public JButton commit;

private JLabel jL1;

public JTextField jT1;

public JButton quit;

String str="";

public Take() {

initComponents();

this.setLocationRelativeTo(null);

this.setVisible(false);

}

(5)存款模块

Class input实现存款功能,存款的金额必须是100的整数倍,否则报错提示重新输入。成员有:clear、commit、jL1、jT1、str以及构造函数Inputhe()和初始化方法initComponents()。

关键代码:class Input extends JFrame {

private JButton clear;

private JButton commit;

private JLabel jL1;

private JTextField jT1;

String str="";

public Input() {

initComponents();

this.setLocationRelativeTo(null);

this.setResizable(false);

this.setVisible(false);

}

(6)显示余额模块

Class Display功能为显示当前余额,在显示余额时JTextField的内容不可以编辑,成员有:成员变量back、jL1、quit、qukuan和构造方法Display()和方法数set(String str)和初始化的方法initComponents()。

关键代码:class Display extends JFrame {

public JButton back;

private JLabel jL1;

public JTextField jT1;

public JButton quit;

public JButton qukuan;

public Display() {

initComponents();

jT1.setText(String.valueOf(myaccount.get()));

this.setLocationRelativeTo(null);

this.setVisible(false);

}

(7)修改密码模块

class Setpw创建此类是为了实现修改密码的功能,设置的密码必须是六位以上的字符,并且所设置的密码不能是同一个字符组成,否则报错。成员有:成员变量commit、commitpw、jPwcommit、jPwnew、jPwold、newpw、oldpw、quit和构造方法Setpw()和初始化方法initComponents()。

关键代码:class Setpw extends JFrame {

public JButton commit;

public JLabel commitpw;

public JPasswordField jPwcommit;

public JPasswordField jPwnew;

public JPasswordField jPwold;

public JLabel newpw;

public JLabel oldpw;

public JButton quit;

public Setpw() {

initComponents();

this.setResizable(false);

this.setLocationRelativeTo(null);

this.setVisible(false);

}

2.事件监听组件介绍

(1)MainFrame类的监听模块

在该类中设置了五个监听器,监听鼠标单击按钮,分别监听退出

quit.addActionListener(new ActionListener()、修改密码

reset.addActionListener(new ActionListener()、查询

checked.addActionListener(new ActionListener()、取款

cunkuan.addActionListener(new ActionListener()、存款

qukuan.addActionListener(new ActionListener()等按钮的事件。

(2) Load类的监模块

commit.addActionListener(new java.awt.event.ActionListener()

在该类中只有一个监听器,监听鼠标单击“确定”按钮时的事件。

(3) Take类的监听模块

在该类中设置了四个监听器,同样是监听鼠标单击按钮事件,分别监听“清除”clear.addActionListener(new ActionListener()、“退出”quit.addActionListener(new ActionListener()、“返回”back.addActionListener(new ActionListener()、“确定”commit.addActionListener(new ActionListener()按钮的事件。

(4 )input类的监模块

在这个类中共设置了两个监听器,它们也是监听鼠标单击按钮事件。它们监听“清除”clear.addActionListener(new ActionListener()、“确定”

commit.addActionListener(new ActionListener()按钮事件。

(5 )display类的监听模块

在display中设置了三个监听器,都属于监听鼠标单击按钮事件,分别监听“退出”quit.addActionListener(new ActionListener()、“返回”back.addActionListener(new ActionListener()、“取款”qukuan.addActionListener(new

java.awt.event.ActionListener()按钮事件。

(6 )Setpw类的监听模块

在这个类中设置了两个监听器,它们是监听鼠标单击按钮事件,分别监听“确定”commit.addActionListener(new ActionListener()、“退出”

quit.addActionListener(new ActionListener()按钮事件。

三、系统调试分析

1.登陆界面

打开MyEcplise,编译运行程序后,将会看到如图3所示的欢迎界面。点击确定之后,会进入如图4所示的登陆界面。

图3 欢迎登陆页面

图4 登陆界面

进入到登陆界面后,需要输入账号和密码,当账号和密码正确时,才会进入到主界面。账号和密码不符合时,会进入如图4所示的错误提示界面。初始账号和密码为“123456”。

图5 登陆出错提示界面

2.账号密码登陆

当输入的密码和卡号正确,单击确定后就会进入到主界面,选择服务,如图6所示,点击相应的按钮就可以选择所需要的服务了,点击“退出”会回到登陆界面。

图6 主界面

3.存款

点击存款,进入存款界面,如图7所示。

图7 存款界面

当输入的钱数不是100的倍数时,就会弹出如图7所示的错误提示界面。输入正确时,进入如图9所示的界面。选“是”的话,会进入查询余额界面,查看存款操作是否成功;选“否”的话,会回到主界面。

图8 存款出错提示界面

图9 操作完成后的选择界面

4.取款

点击取款按钮,进入取款界面,如图10所示。当输入的钱数是负数,或者是0,或者不是100的倍数,又或者大于5000时,会弹出如图11所示的出错提示界面。当输入的钱数符合要求时,会弹出如同存款操作一样的选择界面,如图9所示。

图10 取款界面

图11 取款错误提示界面

5.查询

点击主界面中的查询按钮,或者是在存款和取款操作完成后的选择界面中选“是”的话,就会进入到如图12所示的查询界面。点击取款按钮,会进入到取款界面。初始金额为50000,图12中的余额是经过存款、取款操作以后的金额。

图12 查询界面

6.修改密码

点击主界面中的修改密码按钮,进入到如图13所示的修改密码界面。新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码,弹出如图14所示的提示界面,点击确定后会回到主界面。否则,密码修改不成功,点击确定按钮,界面没有反应。

图13 修改密码界面

图14 修改密码成功提示界面

经过上面的操作,既测试了程序的实现效果,又对系统的使用进行了详细的说明。从上面的运行结果可以看出,程序基本上实现了所有的设计要求,而且运行正常。

四、总结

通过为时一周的课程设计,我受益匪浅,把平时所学的知识通通运用了进来,虽然平时

积淀的知识点比较少、比较单一,但是在这次实验中把零零碎碎的知识都连贯起来了,也达到了课程设计的目的,最主要的是通过一周的努力我终于用面向对象程序设计的知识做出了这个“ATM柜员机模拟系统”。由于知识的积淀比较少,且有些知识掌握不太牢靠,记忆模模糊糊的,最后决定恶补一下落下的知识点再进行程序的设计。第一天,去图书馆借了相关图书,把知识点打牢,然后参考了相似的的几个实例,并进行了一些分析和总结。基础功课做好以后第二天正式开工,选定好了题目,进行方法选择、框架设计、画出流程图、UML 图,进行了初步的程序设计构想。第三天,编写程序代码,这个过程我觉得是最艰难的,因为代码太多,还有API接口不是很熟悉,所以要经常翻阅手册,花费了很多时间。程序一不小心就会出错不能运行,还需要认真检查,细心细心加细心才能做好。反复的进行分析调试,最后一天把程序调试通过后,进行课程设计报告的撰写。虽然很幸苦但是,最终的成果还是令人满意的,最后感谢指导老师对我们帮助和支持。

在这次的课程设计中,我主要运用了Java图形界面编程方面的知识,加深了对Java 语言中各个基础知识点的了解和应用,将自己所学的知识运用到实际操作当中,而不再是纸上谈兵。通过这次设计,我深刻感受到了面向对象语言中类库的强大功能,掌握了运用Java 中的类实现某些基本功能,并学会了自己查询使用类的方法,为以后的面向对象语言的自学奠定了基础。

在这次课程设计中,我查了很多资料,很好的锻炼了自己的查阅资料的能力和快速吸收新知识的能力。同时,也加深了与同学的交流,在设计过程中,我们互相帮助,共度难关,培养了很好的默契。总之,在这次课程设计中,我学到了很多的知识,同时也感谢我的同学的帮助和指导。在以后的学习当中,我会更加努力的学习好专业知识,并将所学的知识用于实践当中去,以便牢固掌握知识。

五、参考文献

[1] 叶核亚. Java程序设计实用教程(第3版.电子工业出版社,2010

[2] 耿祥义. JAVA课程设计.清华大学出版,2009

[3] 王文涛,袁海燕JAVA实用程序设计100例[M]北京:人民邮电出版社,2005.5

[4] 雍俊海JAVA程序设计[M]北京:清华大学出版社,2006.8

[5] 刘宝林JAVA程序设计与案例[M]北京:高等教育出版社,2006.11

[6] 史斌星,史佳 .Java基础及应用教程[M].北京.清华大学出版社.2007.27.15.101.

[7] Y.Daniel Liang.Java语言程序设计[M].北京.机械工业出版社.2008.

(完整版)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.wendangku.net/doc/d113078791.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.wendangku.net/doc/d113078791.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语言。

ATM柜员机模拟系统-代码

Win.java import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.sql.*; public class Win extends JFrame implements ActionListener { JTextField text[]=new JTextField[6]; JTextArea show=new JTextArea(9,30); JTable table;//标签 JButton insert,update,select,delete,C,Q; Win() { setLayout(new FlowLayout()); for(int i=0;i<5;i++) { text[i]=new JTextField(10); } add(new JLabel("卡号:")); add(text[0]); add(new JLabel("姓名:")); add(text[1]); add(new JLabel("密码:")); add(text[2]); add(new JLabel("余额:")); add(text[3]); add(new JLabel("序号:")); add(text[4]); C=new JButton("存款"); C.addActionListener(this); add(C);

Q=new JButton("取款"); Q.addActionListener(this); add(Q); update=new JButton("修改密码"); update.addActionListener(this); add(update); insert=new JButton("添加新用户"); insert.addActionListener(this); add(insert); select=new JButton("查询用户信息"); select.addActionListener(this); add(select); delete=new JButton("删除用户信息"); delete.addActionListener(this); add(delete); add(new JScrollPane(show)); add(new JLabel("提示:1.每次取款金额为100的倍数,总额不能超过5000元,支取金额不允许透支")); add(new JLabel("2.存款金额不能为负存款")); add(new JLabel("3.新密码长度不小于6位,不允许出现6位完全相同的情况")); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void actionPerformed(ActionEvent e) { Operation modify=new Operation(); modify.setDatasourceName("XX"); if(e.getSource()==insert) {

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');

柜员机模拟程序

课程论文 现代软件工程与实践题目: ATM柜员机模拟程序学院(系):信息工程学院专业班级: 学生姓名: 指导教师: 2011 年 12月 4日

摘要 通过设计ATM柜员模拟程序,加深自己对Java编程尤其是对Java图形用户界面编程的了解,将自己的学到的编程知识融会贯通,同时培养自身面向对象软件开发的思维,初步了解软件开发的一般流程,提高用Java实际动手能力并增强自己对面向对象的了解。通过这次编程设计,加深了对Java图形界面编程中各个模块和组件的应用了解,以及类和类之间的关系,界面排版的处理等。 设计要求是,当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行(规则可以按照实际系统做需求):(1)查询余额:初始余额为10000元。(2)ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。(3)ATM存款:不能出现负存款。(4)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 该程序设置了7个类,1个主类6个辅助类,6个辅助类都是内部类的形式,辅助类包括五个实现ATM的功能,一个存放客户资料,之所以用内部类来实现是为了在各个界面转换时不至于要创建多个对象,每一个辅助类的对象只要在主类中创建一次就可以在各个内部类中引用。该程序利用的功能是利用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柜员模拟程序需

课程设计-ATM柜员机模拟程序

课程设计-ATM柜员机模拟程序

软件学院 课程设计报告书 课程名称面向对象程序设计 设计题目ATM柜员机模拟程序 专业班级软件工程 学号 姓名 指导教师刘腊梅

1 设计时间 2015 年月 2 设计目的 掌握图形用户界面设计方法,掌握常用swing组件的使用和事件处理程序设计. 3 设计题目 ATM柜员机模拟程序 4 设计任务 使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: (1)查询余额功能:初始余额为10000元 (2)ATM取款功能:每次取款金额为100的倍数,总额不超过5000元,支取金额不 允许透支。 (3)ATM存款功能:不能出现负存款。 (4)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密 码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 5设计内容 5.1 kehu类代码 import javax.swing.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; // 导入包 import java.util.*; class kehu // 定义客户类 { String zh; //定义账号 String pswf; //定义密码 double jine; //定义金额 public kehu() { } //构造GUKE public kehu(String zh, String pswf, double jine) { this.zh = zh; this.pswf = pswf; this.jine = jine;

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

自动取款机(ATM)模拟程序(C#控制台应用程序)

自动取款机(ATM)模拟程序 一、需求 我们需要设计一个具备如下功能的ATM模拟程序。 ●开户:用户能够通过ATM来开设帐号,开户需要设置密码。 ●登录:用户能够登录到已经开设的帐号上,登录需要验证密码。 ●管理帐号:用户登录到帐号上后,能够进行如下的操作。 ■存款:将指定的款项存到帐号中。 ■取款:从帐号中取出指定的款项。 ■查询余额:查询帐号的余额。 ■修改密码:修改帐号的密码。 二、分析 面向对象编程的第一步是进行面向对象分析。面向对象分析的目标是建立问题领域的模型,包括如下模型。 ●功能模型:即画出每一个功能要求的用例图。 ●对象模型:对用例模型进行分析,把系统分解成互相协作的类,通过类图/对象图描述对 象、对象的属性、对象间的关系。 ●动态模型:描述系统的动态行为,通过序列图来描述对象的交互,以揭示对象间如何写 作来完成每个具体的用例,单个对象的状态变化和动态行为可以通过状态图来表达。1.功能模型 根据我们的需求,可以很容易地画出A TM模拟程序的用例图: 可以看出,用户可以开户和登录帐号,开户或者登录帐号之后就能管理帐号。要管理账号,就必须首先登录帐号或者开户。管理帐号的功能包括存款、取款、查询余额和修改密码。

2.对象模型 ATM是银行相连的设备,因此银行是A TM模拟程序的相关对象,所有的操作都是针对帐号的,因此帐号是其中的核心对象。此外,需要一个程序来启动ATM。因此,在ATM模拟程序中,我们需要处理四个类,或者说四类对象:启动程序、A TM、银行及帐号。 1)帐号类Account 帐号类Account包含所有的帐号信息负责所有的帐号操作。基本的帐号信息包括: ●帐号名name ●帐号密码password ●帐号余额balance 主要的帐号操作包括: ●登录Login ●存款Deposit ●取款Withdraw ●查询余额Get_Balance ●修改密码ChangePassword 2)银行类Bank 银行类Bank的本质就是一组帐号的组合,并负责管理帐号。基本的银行信息包括: ●银行名name ●已经开户的帐号数usedAccountNum ●可以容纳的最大账户数MaxAccountNum ●帐号集accounts 主要的银行操作包括: ●开户OpenAccount ●登录帐号LoginAccount ●撤销帐号,但是由于A TM不能撤销帐号,因此我们不关心这个操作 3)ATM类 ATM类与银行类之间在一对一的关联关系,ATM提供用户界面,并将用户的请求提交给银行、将银行的反馈提交给用户。基本的ATM信息包括: ●银行Bank 主要的ATM操作包括: ●启动Start ●开户OpenAccount ●登录帐号LoginAccount ●管理帐号ManageAccount ●一些显示不同信息的辅助操作(PrintLogo、Print、Pause等)。 4)启动程序类Program 启动程序类Program的唯一功能就是创建银行类和ATM类的实例,并将它们关联起来,然后启动ATM(执行A TM对象的Start方法)。因此,这个类仅仅包含程序的入口点Main方法。 5)ATM模拟程序的类图 根据上述各类的分析,可以画出A TM模拟程序的类图:

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

用户需求分析: 英汉词典作为一个常用的学习工具,是我们经常要使用的。该系统能完成一个简单的电子词的功能。该系统主要用于实现英汉互译的功能,系统拥有自己的数据库。 1.英译汉功能:我们可以先选择让系统进行英译汉功能,然后在查找框中输入想要查询的英文单词,系统将自动在数据库中查找匹配记录并给出相对应的汉语意思。 2.汉译英功能:我们可以在系统中选择汉译英功能,然后在查找框中输入想要查询的汉语意思,系统将自动在数据库中查找匹配记录并给出相对应的英文单词 3.词汇的添加功能:用户可以添加词库没有的单词及其解释。添加成功后该单词将在次库保存,以便下次查询。 4.词汇的修改功能;用户可以实现对词库中已有单词及其解释的修改。修改后的结果将保存在词库中。 5.词汇的删除功能;用户可自行删除词库中已有的单词,同时次单词的解释也将被一同删除。 6.其他功能:此外,系统还具有帮助和关于等功能,用来辅助用户更方便简洁的使用电子词典。 package dianzicidian; import java.awt.*; import https://www.wendangku.net/doc/d113078791.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课程设计实验报告及全部源码流程图

课程设计 一、实验目的 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页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

相关文档
相关文档 最新文档