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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

JAVA课程设计报告.docx

1、JAVA课程设计报告 安阳工学院计算机学院 JAVA课程设计报告 计算器程序设计 专业班级: 09计科软件工程(2)班学生姓名: 学生学号: 摘 要 近年来随着计算机和网络在社会领域的发展,java的应用正在不断地走向深入,java语言的优良特性使得java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和多平台之间传递信息的低成本方式。特别是java企业应用编程接口为企业计算及电子商务应用系统提供了有关技术和丰富的类库。本

2、次设计是通过java编程技术来设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算,该计算器可以实现加减乘除的简单运算,也可以实现一些简单的扩展运算。关键词:Java 计算器 编程 1. 选题目的与系统概述1.1 课程设计目的 1.掌握JAVA语言编程的基础知识并能熟练运用。 2.熟悉类声明与对象的使用。 3.理解委托时间处理模型。 4.了解JAVA语言的图形用户界面JAVAS WING的设计知识。 5.运用JAVA SWING编写简单计算器程序,并实现其功能 。1.2系统概述1.2.1系统目标一个简单的计算器程序。用户可以利用鼠标点击数值或操作符按键完成计算的输入,计算的结果将被显

3、示在窗口上部的文本框中。1.2.2主体功能1.按下数字键在文本框上会显示数字,这是计算器最基本的功能。2.在任何时候按下“+-”键,计算器文本框上的数字置反。3.上面一个文本框显输入的数字及运算结果。4.按下清除“C”键,数据被全部清除。1.2.3开发环境JCreator JDK1.6 2. 系统可行性分析及相关技术背景分析2.1系统可行性分析计算器应用程序的开发使得简单的算术运算从传统的珠算等繁琐的计算工具及方式中得到解放,避免了繁复的手工运算,提高了日常生活中和算术有关的事件的经办效率,降低了人工处理产生的错误,同时也把自动化与高科技融入日常生活,使得社会人可以切身体验高科技带来的便捷。目

4、前,随着时代的进步,生活步调的加快及计算器本身的实用价值和快捷与轻巧外形使得计算器可以迅速普及。因此,计算器应用程序的可行性前景乐观。2.2相关技术背景分析2.2.1 Java语言Java是James Gosling领导的小组在Sun Microsystems公司开发的。是1991年为嵌入式消费类电子产品而设计的。1995年更名为Java,并重新设计,用于开发Internet应用程序。Java具有简单的、面向对象的、分布式的、解释型的、健壮的、安全的、机构中立的、可移植的、高性能的、多线程的和动态的特性。Java是功能齐全的程序设计语言,可以开发可靠的、要求严格的应用程序。它不仅用于Web程序

5、设计,而且用于在服务器、台式机和移动设备上开发跨平台的独立应用程序。 2.2.2图形用户界面的设计与实现图形用户接口(GUI)用于开发桌面应用程序。Java的GUI工具包有Awt、Swing、Swt。AWT容易发生与平台特性相关的故障,随着java2的发行,AWT的用户界面组件被更稳定、通用和灵活的库取代,该库称为Swing组件库。Swing是java基础类的一部分,Swing提供许多比Awt更好的屏幕显示元素。它们用纯java写成,不需要操作系统本身所带视窗工具包的原生资源来生成。SwingAPI的大部分是AWT的补充扩展而不是直接的替代。在本程序的设计过程中还是用到Swing和awt两个包

6、。import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;3. 系统设计与关键技术3.1 系统的功能模块划分1.主界面模块2.事件相应模块3.2 系统流程图 3.3关键技术界面设计要求用GUI,界面设计中用到Swing组件的TestField和Button,用到awt中的BorderLayout和GridLayout布局管理方式。界面如图:类public Calculation():完成计算器界面设计,并且将每个组件都添加事件响应。

7、方法public void actionPerformed(ActionEvent e):当按下了控制按钮,根据搜索控制开关来确定能否继续添加,各个相应的处理机制。4.系统操作实施方法与测试4.1系统操作实施方法4.1.1创建面板public class Calculation extends JFrame implements ActionListener JTextField jtf1; String str = ; String str1 = ; String str2 = ; JButton jtf2; int a = 0; String str3 = ;4.1.2计算器界面 publ

8、ic Calculation() setTitle(计算器 ); JPanel jp1 = new JPanel(); JPanel jp2 = new JPanel(); jp2.setLayout(null); jp2.setLayout(new FlowLayout(FlowLayout.RIGHT, 15, 5);/第二行设计变化 JPanel jp3 = new JPanel(); jp3.setLayout(new GridLayout(4, 6, 5, 5); /第二行整体之下变化行列 /JPanel jp4=new JPanel(); /jp4.setLayout(new Gr

9、idLayout(2,10,5,5); jtf1 = new JTextField(35); jtf1.setEnabled(true); jtf1.setCaretColor(Color.blue); / jtf1.setDocument(new NumberDocument(); jtf1.setHorizontalAlignment(SwingConstants.LEFT); jp1.add(jtf1); add(jp1, BorderLayout.NORTH); jtf2 = new JButton( ); jtf2.setBackground(new Color(38,217,199

10、); jtf2.setEnabled(true);4.1.3添加按钮4.1.4主程序 public static void main(String args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException Calculation calculation = new Calculation();/ UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassNam

11、e(); /设置计算器面板风格/ SwingUtilities.updateComponentTreeUI(calculation); calculation.pack(); calculation.setVisible(true);4.2系统测试四则运算加法(+)四则运算减法(-)四则运算乘法(*) 四则运算除法(/) 特殊运算符关系式:12*3= ms ce 12*3= m+ mr12*3计算过程属于基本运算过程略 (1)由结果=36开始测试 (2)Ms:将当前窗口数据写入“寄数器”(3)Ce:清除当前数据 (4)12*3计算过程属于基本运算过程略,由结果=36开始测试;M+:将当前窗口数

12、据与“寄数器”内的数据相加后再存入“寄数器” (5)MR:读出“寄数器”内数据到窗口 (6)MC:清除“寄数器”内的数据 求平方根运算 对数据进行求平方根对数据求倒 对数据进行百倍扩大运算4.3测试结果:可以完成基本运算功能。 5.总结此次课程设计让我更了解熟悉了Java中的图形用户界面和它的编程方式。在完成课题的过程中也不断充实了自己,学习到了很多以前没有学习到的知识,收获很大。最大的收获是在弯完成过程中培养的解决问题的能力,在做项目时必然会遇到困难,会有不会的东西,重要的不是现在会不会,而是遇到问题知道如何找到解决的途径。还使我对所学知识能够融会贯通,又不断丰富了新知识。Java计算器设计

13、使得我们对所学的专业课有了更为深刻的认识,使得知识得到了巩固和提高。 附 录:package pag;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;/创建面板public class Calculation extends JFrame implements ActionListener JTextField jtf1; String str = ; String str1 = ; String str2 = ; JBut

14、ton jtf2; int a = 0; String str3 = ; /计算器界面 public Calculation() setTitle(计算器 ); JPanel jp1 = new JPanel(); JPanel jp2 = new JPanel(); jp2.setLayout(null); jp2.setLayout(new FlowLayout(FlowLayout.RIGHT, 15, 5);/第二行设计变化 JPanel jp3 = new JPanel(); jp3.setLayout(new GridLayout(4, 6, 5, 5); /第二行整体之下变化行列

15、 /JPanel jp4=new JPanel(); /jp4.setLayout(new GridLayout(2,10,5,5); jtf1 = new JTextField(35); jtf1.setEnabled(true); jtf1.setCaretColor(Color.blue); / jtf1.setDocument(new NumberDocument(); jtf1.setHorizontalAlignment(SwingConstants.LEFT); jp1.add(jtf1); add(jp1, BorderLayout.NORTH); jtf2 = new JBu

16、tton( ); jtf2.setBackground(new Color(38,217,199); jtf2.setEnabled(true);/添加按钮 JButton jb1 = new JButton(Backspace); jb1.setForeground(Color.magenta); jb1.addActionListener(this); JButton jb2 = new JButton(CE); jb2.setForeground(Color.magenta); jb2.addActionListener(this); JButton jb3 = new JButton(

17、C); jb3.addActionListener(this); jb3.setForeground(Color.magenta); jp2.add(jtf2); jp2.add(jb1); jp2.add(jb2); jp2.add(jb3); add(jp2, BorderLayout.CENTER);/ jp4.add(jp2); JButton jb4 = new JButton(MC); jb4.addActionListener(this); jb4.setForeground(Color.magenta); JButton jb5 = new JButton(7); jb5.ad

18、dActionListener(this); JButton jb6 = new JButton(8); jb6.addActionListener(this); JButton jb7 = new JButton(9); jb7.addActionListener(this); JButton jb8 = new JButton(/); jb8.addActionListener(this); JButton jb9 = new JButton(sqrt); jb9.addActionListener(this); JButton jb10 = new JButton(MR); jb10.a

19、ddActionListener(this); jb10.setForeground(Color.magenta); JButton jb11 = new JButton(4); jb11.addActionListener(this); JButton jb12 = new JButton(5); jb12.addActionListener(this); JButton jb13 = new JButton(6); jb13.addActionListener(this); JButton jb14 = new JButton(*); jb14.addActionListener(this

20、); JButton jb15 = new JButton(%); jb15.addActionListener(this); jb15.addActionListener(this); JButton jb16 = new JButton(MS); jb16.addActionListener(this); jb16.setForeground(Color.magenta); JButton jb17 = new JButton(1); jb17.addActionListener(this); JButton jb18 = new JButton(2); jb18.addActionLis

21、tener(this); JButton jb19 = new JButton(3); jb19.addActionListener(this); JButton jb20 = new JButton(-); jb20.addActionListener(this); JButton jb21 = new JButton(1/x); jb21.addActionListener(this); JButton jb22 = new JButton(M+); jb22.addActionListener(this); jb22.setForeground(Color.magenta); JButt

22、on jb23 = new JButton(0); jb23.addActionListener(this); JButton jb24 = new JButton(+/-); jb24.addActionListener(this); JButton jb25 = new JButton(.); jb25.addActionListener(this); JButton jb26 = new JButton(+); jb26.addActionListener(this); JButton jb27 = new JButton(=); jb27.addActionListener(this)

23、; jp3.add(jb4); jp3.add(jb5); jp3.add(jb6); jp3.add(jb7); jp3.add(jb8); jp3.add(jb9); jp3.add(jb10); jp3.add(jb11); jp3.add(jb12); jp3.add(jb13); jp3.add(jb14); jp3.add(jb15); jp3.add(jb16); jp3.add(jb17); jp3.add(jb18); jp3.add(jb19); jp3.add(jb20); jp3.add(jb21); jp3.add(jb22); jp3.add(jb23); jp3.

24、add(jb24); jp3.add(jb25); jp3.add(jb26); jp3.add(jb27); / jp4.add(jp3); add(jp3, BorderLayout.SOUTH); /主程序main public static void main(String args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException Calculation calculation = new Calculation

25、();/ UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(); /设置计算器面板风格/ SwingUtilities.updateComponentTreeUI(calculation); calculation.pack(); calculation.setVisible(true); /方法 public void actionPerformed(ActionEvent e) if (e.getSource() instanceof JButton) if (e.getActionCommand().equa

26、ls(C) str = ; jtf1.setText(str); jtf1.setHorizontalAlignment(SwingConstants.LEFT); if (e.getSource() instanceof JButton) if (e.getActionCommand().equals(CE) str = ; jtf1.setText(str); jtf1.setHorizontalAlignment(SwingConstants.LEFT); if (e.getSource() instanceof JButton) if (e.getActionCommand().equ

27、als(1/x) double c = 1 / Double.parseDouble(jtf1.getText(); jtf1.setText(String.valueOf(c); jtf1.setHorizontalAlignment(SwingConstants.LEFT); if (e.getSource() instanceof JButton) if (e.getActionCommand().equals(%) double c = Double.parseDouble(jtf1.getText().trim() * 10; jtf1.setText(String.valueOf(

28、c); jtf1.setHorizontalAlignment(SwingConstants.LEFT); if (e.getSource() instanceof JButton) if (e.getActionCommand().equals(sqrt) double c = Math.sqrt(Double.parseDouble(jtf1.getText(); jtf1.setText(String.valueOf(c); jtf1.setHorizontalAlignment(SwingConstants.LEFT); if (e.getSource() instanceof JButton) if (e.getActionCommand().equals(+/-) double c = -Double.parseDouble(jtf1.getText(); jtf1.setText(String.valueOf(c); jtf1.setHorizontalAlignment(SwingConstants.LEFT); if (e.getSource() instanceof JButton) if (e.getActionCommand().equa

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

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