Java带计算过程的计算器课程设计报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

保存计算过程的计算器Java程序设计课程设计报告保存计算过程的计算器目录1概述...............................................................11.1课程设计目的................................................11.2课程设计内容................................................12系统需求分析...........................................................12.1系统目标....................................................12.2主体功能....................................................12.3开发环境....................................................13系统概要设计...........................................................13.1系统的功能模块划分..........................................13.2系统流程图..................................................14系统详细设计............................................................25测试...................................................................65.1测试方案....................................................65.2测试结果....................................................66小结...................................................................6参考文献.................................................................7附录.................................................................7附录1源程序清单.......................................................711概述1.1课程设计目的1.掌握JAVA语言编程的基础知识并能熟练运用。2.熟悉类声明与对象的使用。3.理解委托时间处理模型。4.了解JAVA语言的图形用户界面JAVASWING的设计知识。5.运用JAVASWING编写简单计算器程序,并实现其功能。1.2课程设计内容设计GUI界面的计算机程序,用户可以通过鼠标依次输入参加计算的数值,进行加,减,乘,除,等混合运算。2系统需求分析2.1系统目标一个简单的计算器程序。用户可以利用鼠标点击数值或操作符按键完成计算的输入,计算的结果将被显示在窗口上部的文本框中。2.2主体功能1.按下数字键在文本框上会显示数字,这是计算器最基本的功能2.在任何时候按下“+-”键,计算器文本框上的数字置反3.上面一个文本框显示计算过程,下面一个文本框显示输入的数字4.当按下的运算符号时前面已经按下过运算符号时,下面一个文本框显示上一个运算符号以及两个数之间的运算结果。5.按下清除“C”键,数据被全部清除。2.3开发环境JDK3系统概要设计3.1系统的功能模块划分1.主界面模块2.事件相应模块3.2系统流程图保存计算过程的计算器4系统详细设计1.主界面模块详细设计顶层容器:ComputerPad类实现主窗口,顶层容器中包含了1个panel容器,1个resultshow文本框,1个process文本框。各组件作用:其中panel容器用于放数字按钮,小数点,运算符按钮,清零按钮,正负转换按钮以及退格按钮。两个文本框一个用于显示输入数据和计算结果,另一个用于显示计算过程。布局方式:顶层容器用BroadLayOut布局,process和resultshow文本框以及panel容器分别放在定岑容器的noth,center以及south面,panel容器用GridLayOut布局部分代码如下数字按钮类:实现数字按钮的定义publicclassNumberButtonextendsButton{}运算符按钮类:实现运算符号的定义publicclassOperationButtonextendsButton{}主窗口类实现监视器的注册,窗口布局,组件颜色大小等的设置publicclassComputerPadextendsFrameimplementsActionListener{NumberButtonnumberButton[];OperationButtonoprationButton[];Button小数点按钮,正负号按钮,退格按钮,求倒数按钮,等号按钮,清零按钮;3Panelpanel;JTextFieldresultShow;JTextFieldprocess;String运算符号[]={+,-,*,/};LinkedList链表;boolean是否按下等号=false;publicComputerPad(){super(计算器);链表=newLinkedList();//进行组件的声明,初始化设置,注册监视器numberButton=newNumberButton[10];for(inti=0;i=9;i++){numberButton[i]=newNumberButton(i);numberButton[i].addActionListener(this);}oprationButton=newOperationButton[4];for(inti=0;i4;i++){oprationButton[i]=newOperationButton(运算符号[i]);oprationButton[i].addActionListener(this);}小数点按钮=newButton(.);正负号按钮=newButton(+/-);等号按钮=newButton(=);求倒数按钮=newButton(1/x);退格按钮=newButton(退格);清零按钮=newButton(C);清零按钮.setForeground(Color.red);退格按钮.setForeground(Color.red);等号按钮.setForeground(Color.red);求倒数按钮.setForeground(Color.blue);正负号按钮.setForeground(Color.blue);小数点按钮.setForeground(Color.blue);退格按钮.addActionListener(this);清零按钮.addActionListener(this);等号按钮.addActionListener(this);小数点按钮.addActionListener(this);正负号按钮.addActionListener(this);求倒数按钮.addActionListener(this);//对显示过程的文本框进行设置process=newJTextField(10);process.setHorizontalAlignment(JTextField.LEFT);process.setForeground(Color.blue);process.setFont(newFont(TimesRoman,Font.PLAIN,14));process.setBorder(newSoftBevelBorder(BevelBorder.LOWERED));保存计算过程的计算器process.setBackground(Color.white);process.setEditable(false);//对显示输入值以及运算结果的文本框进行设置resultShow=newJTextField(10);resultShow.setHorizontalAlignment(JTextField.RIGHT);resultShow.setForeground(Color.blue);resultShow.setFont(newFont(TimesRoman,Font.PLAIN,14));resultShow.setBorder(newSoftBevelBorder(BevelBorder.LOWERED));resultShow.setBackground(Color.white);resultShow.setEditable(false);//进行主窗口布局panel=newPanel();panel.setLayout(newGridLayout(5,4));Panel.add(清零按钮);Panel.add(退格按钮);panel.add(numberButton[1]);panel.add(numberButton[2]);panel.add(numberButton[3]);Panel.add(numberButton[4]);panel.add(numberButton[5]);panel.add(numberButton[6]);Panel.add(numberButton[7]);panel.add(numberButton[8]);panel.add(numberButton[9]);Panel.add(numberButton[0]);Panel.add(oprationButton[0]);panel.add(oprationButton[1]);panel.add(oprationButton[2]);panel.add(oprationButton[3]);panel.add(求倒数按钮);panel.add(正负号按钮);panel.add(小数点按钮);Panel.add(等号按钮);add(panel,BorderLayout.SOUTH);add(resultShow,BorderLayout.CENTER);add(process,BorderLayout.NORTH);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});setVisible(true);setBounds(100,50,170,190);setResizable(false);validate();}2.事件响应模块详细设计5模块功能:事件响应模块用于实现数据输入,保存,运算以及显示。具体实现:将主窗口作为窗口中所有组件的监视器,链表用来存储输入的数字以及操作符以便运算时提取出来,监视器用if,elseif语句分数字按钮,小数点,运算符按钮,清零按钮,正负转换按钮以及退格按钮6种情况进行相应处理,其中除了清零按钮每种情况又分成链表长度为1,2,3作相应的处理。事件响应模块的框架代码如下publicvoidactionPerformed(ActionEvente){按下数字按钮时的事件处理if(e.getSource()instanceofNumberButton){NumberButtonb=(NumberButton)e.getSource();if(链表.size()==0){}elseif(链表.size()==1&&是否按下等号==false){}e

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功