ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:142.04KB ,
资源ID:2851712      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2851712.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java课程设计样例.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java课程设计样例.docx

1、java课程设计样例Java语言程序设计课程设计报告 题 目: Java 计算器设计 专 业: 数学与应用数学 学 号: 1009401-25 姓 名: 陈宁 指导教师: 李又良 成 绩: 二一 一年 十二 月 二十八 日目 录1.课程设计研究背景和意义 32.课程设计题目描述和详细功能要求 33.课程设计报告内容 3 3.1 题目求解的理论依据及算法 33.2 数据结构 43.3 主要事件处理 43.4简要的操作流程63.5主要操作步骤(源代码)63.6 程序调试出错信息及解决方法 153.7主要程序运行结果163.8 心得体会184.总结 205.参考书目211.课程设计研究背景及意义这次

2、课程设计是通过JAVA编程来实现计算器的功能。以前,人们用来计算的工具不管从方便的角度还是速度的角度来看都不及现代计算器,计算器的发明是人类进步的有力证明。电子技术的不断发展使得计算器的功能不断的完善。人们通过使用计算器来提高自己的工作效率,计算器是高科技的产物,是以往任何时代都无法比拟的。在二十一世纪的今天,计算器依然是人们重要的计算工具,所以,对计算器的研究的课程设计具有重大意义。本次课程设计题目主要应用到JAVA面向对象程序设计语言中Swing组件和GUI(图形用户界面)当中的一些知识,当然也用到JAVA中大部分基础知识,如JAVA的基本控制结构、数组、输入与输出等等 。2.课程设计题目

3、描述和要求 通过JAVA中的Swing组件来制作一个计算器的界面包括09的十个数字按键,小数点键,+-*/开方百分比,倒数运算符键,=运行符键以及M组合键等。以及实现计算器的一些基本的计算功能。这个模拟计算器能进行连加,连减,连乘,连除,求二次平方根,求百分比,求倒数以及负数运算等操作。要求界面逼真,按键布局美观,要求实现加、减、乘、除等基本计算功能。组员分工:组长(陈宁):负责分配其他组员的任务,程序设计中负责运算符按钮部分代码编写及事件处理,模拟计算器的整体布局。组员1(张华):负责数字键按钮和文本输出框部分代码的编写及其事件的处理。组员2(曹晏波):负责sqrt、%、1/X、+/-四个运

4、算功能键按钮部分的代码编写及事件处理(由于此功能实现要依赖组员1的功能实现,所以设计中加入了组员1的设计)。3.课程设计报告内容 3.1 题目求解的理论依据及算法 解题原理: (1)界面布局。创建一个面板,先将所有按钮:所有数字键和运算符键等放在面板上,采用网格布局,具体设计为4行,5列的网格,二十个格子;接着添加一个1行3列的网格布局来放置三个功能键:清零,检测,退格键;然后,再添加一个5行一列的网格布局来放置四个M组合功能键和一个空键,其目的在于美化界面,使其与现实中的计算器更接近,同时也是为了满足这次课程设计的要求。最后,对以上三个面板,采用BorderLayout布局,将按键面板放在计

5、算器的中部,功能键面板放北部,作为一个新的面板。最后,将文本框放在界面的北部,新面板放在界面的中央,MKpanel放在界面的西部,采用边界布局管理器,做为界面的整体布局,这样界面布局就搞定了。 (2)输入数字、小数点、符号时按输入的顺序显示在单行文本框中,并按右对齐方式显示,且不允许修改文本行中的内容。 (3)输入运算符时,说明前一个数已经输入完毕,保存第一个数firstDigit,同时保存运算符,显示firstDigit。 (4)输入第二个数,按等号,保存第二数,根据输入的运算符进行相应的运算,文本行中显示运算结果resultNum。 (5)按退格键Backspace,将返回到前一次输入状态

6、。 (6)按Check键,输入的数字第一个数字为零。 (7)按复位键键Again,归零。 (8)由于M组合键没有实现其功能,所以暂不能用,待更进一步研究。 (8)第三、四步可以重复操作。 3.2 数据结构: 面板:数字等按键面板calckeysPanel,功能键面板calmsPanel,M组合键面板MKpanel,组合面板panel1,整体布局:top第一个数firstDigit,运算结果resultNum,运算符operator,文本行组件result 3.3 主要事件处理: 1、数字输入及小数点事件,输入后直接显示在文本行。 2、双目运算符输入事件:输入后,保存第一个数,同时保存运算符。

7、3、单目运算符和等于符=输入事件:保存第二个数,取出原有数据和运算符算出结果,并显示在文本行组件。 4、处理Backspace键被按下事件。 5、以上几类事件都归为行为类对象ActionListener. 负责部分的主要事件处理: 1、“+”,“-”,“*”,“/”四个双目运算符被按下,当前面没有输入第一个数时,或当按下双目运算符后没输入第二个数就按下“=”符,计算器不做任何反应。只有等按规则输入数字时才按正确运算输出结果。2、“sqrt”,“%”,“1/x”,“+/-”四个单目运算符被按下,只有当前面输入一个数后按下单目运算符键再按“=”,才输出正确结果。而“+/-”第一次按下时执行,第二次

8、按下时取消。3.4 简要的设计流程: 3.5、源代码:import java.awt.BorderLayout;import java.awt.Color;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;public class Ca

9、lulator extends JFrame implements ActionListener private static final long serialVersionUID = 12345678L; private final String NBKEYS = 7, 8, 9, /, sqrt, 4, 5, 6, *, %, 1, 2, 3, -, 1/x, 0, +/-, ., +, = ; private final String MK = , MC, MR, MS, M+ ; private final String CMKEYS = Backspace, CHCEK, AGAI

10、N ; /*计算器上键的按钮 */ private JButton keys = new JButtonNBKEYS.length; /* 计算器上的功能键的按钮 */ private JButton cmkeys = new JButtonCMKEYS.length; /* 计算器左边的M的按钮 */ private JButton mk = new JButtonMK.length; /* 计算结果文本框 */ private JTextField resultText = new JTextField(0); /*标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字 */

11、 private boolean firstDigit = true; / 计算的中间结果 private double resultNum = 0.0; / 当前运算的运算符 private String operator = =; / 操作是否合法 private boolean operateValidFlag = true; /* 构造方法 */ public Calulator() super(); / 初始化计算器 init(); /this.setSize(400, 300); this.setBackground(Color.LIGHT_GRAY); this.setTitle

12、; / 在屏幕(500,200)坐标处显示计算器 this.setLocation(500, 200); / 不许修改计算器的大小 this.setResizable(false); / 使计算器中各组件大小合适 this.pack(); /* 初始化计算器 */ private void init() / 文本框中的内容采用右对齐方式 resultText.setHorizontalAlignment(JTextField.RIGHT); / 不允许修改结果文本框 resultText.setEditable(false); / 设置文本框背景颜色为亮灰色 resultText.setBac

13、kground(Color.LIGHT_GRAY); / 初始化计算器上键的按钮,将键放在一个画板内 JPanel calckeysPanel = new JPanel();/ calckeysPanel / 用网格布局器,4行,5列的网络,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素 calckeysPanel.setLayout(new GridLayout(4, 5, 3, 3); for (int i = 0; i NBKEYS.length; i+) keysi = new JButton(NBKEYSi); calckeysPanel.add(keysi); keysi

14、.setForeground(Color.BLACK); / 运算符键用红色标示,其他键用蓝色表示 keys3.setForeground(Color.BLUE); keys8.setForeground(Color.BLUE); keys13.setForeground(Color.BLUE); keys18.setForeground(Color.BLUE); keys19.setForeground(Color.BLUE); / 初始化功能键,都用红色标示。将功能键放在一个画板内 JPanel commandsPanel = new JPanel(); / 用网格布局器,1行,3列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素 commandsPanel.setLayout(new GridL

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1