(最新版)java毕业课程设计计算器报告书模版(软件工程)

合集下载

Java课程设计报告-计算器,输入输出流读取iris.txt文件,黄金卡,多线程动画,记事本

Java课程设计报告-计算器,输入输出流读取iris.txt文件,黄金卡,多线程动画,记事本

优劣。

知识点:掌握事件处理机制;掌握随机采样的方法;掌握图形用户界面设计;(注:采用图形用户方式设计)4、内容四:设计一个记事本,菜单中要求有文件,编辑,和帮助。

文件中有新建、打开、保存和退出;编辑中有剪切、复制和粘贴;帮助中显示开发人和版本信息。

知识点:掌握图形用户界面设计;掌握基本类的设计与菜单设计;掌握事件处理机制;掌握使用异常处理方法。

5、内容五:一个多线程的动画知识点:Java中线程的实现;线程的优先级、调度与同步;设计步骤:窗口布局设计设计线程类MainPanel类的设计实验效果为:程序功能:每点击一次“Start”按钮,就会在画面上出现一个新的小球。

这些小球按照一定的线路移动,而且小球的移动速度是相同的。

进制转换算法描述:用if语句判断选中的进制对应的选择框(默认选中的是十进制),并对该事件做对应的按钮处理,用变量length判断上次选中的是哪个进制的选择框,用来进行相互转换,然后进行运算。

假如是非十进制,则先转化成十进制,然后再转化成需要的进制。

内容二:用while循环对文件按行读取存放到字符型变量s里,只要s不为null则循环,在循环里加一个计数器count,用于记录文件的行数用于求平均值,每行按分隔符\t进行行的分割,把每行的第i个元素累加到浮点型数组sum[i]里,读取完后在进行求平均值的运算。

最后打印出每列总和及每列平均值。

内容三:按钮界面:黄金卡中要设计到相应的一个开始游戏的按钮和一个重新开始的按钮,我采用的是JButton,分别建立的一个有“开始”和“重玩”文字的按钮。

文本框设计:用JTextField来构建相应的文本框,用JTextField()来构建单行文本框,以满足程序的要求和图形设计。

颜色背景及字体的设定:JLabel 对象可以显示文本、图像或同时显示二者。

内容四:记事本设计图如下,前先要创建一个Jishiben的类继承JFrame类作为最底层的容器。

在构建Jishiben类时要初使化容器,初使化组件。

java计算器设计实验报告

java计算器设计实验报告

java计算器设计实验报告《Java计算器设计实验报告》摘要:本实验报告基于Java语言,设计了一个简单的计算器。

通过使用面向对象的编程方法,实现了基本的加、减、乘、除运算,并且实现了用户界面的交互操作。

本实验报告详细介绍了计算器的设计思路、实现过程和代码结构,并对实验结果进行了分析和总结。

1. 引言计算器是人们日常生活中常用的工具之一,它能够帮助人们进行简单的数学运算。

随着计算器的普及和发展,计算器的功能也越来越丰富,例如科学计算器、金融计算器等。

本实验旨在通过使用Java语言,设计一个简单的计算器,以加深对面向对象编程的理解和应用。

2. 设计思路在设计计算器时,首先需要确定计算器的功能需求,包括加法、减法、乘法、除法等基本运算。

其次,需要考虑用户界面的设计,使用户能够方便地输入数字和选择运算符。

最后,需要考虑计算器的实现方式,包括数据结构的选择、算法的设计等。

3. 实现过程在本实验中,我们使用Java语言和Swing库来实现计算器的设计。

首先,我们创建一个Calculator类来处理计算器的逻辑操作,包括加法、减法、乘法、除法等运算。

然后,我们创建一个CalculatorUI类来处理用户界面的设计,包括数字按钮、运算符按钮和显示屏的设计。

最后,我们将Calculator类和CalculatorUI类进行整合,实现一个完整的计算器。

4. 代码结构以下是计算器的主要代码结构:Calculator类:- add(double a, double b):加法运算- subtract(double a, double b):减法运算- multiply(double a, double b):乘法运算- divide(double a, double b):除法运算CalculatorUI类:- createNumberButton(int number):创建数字按钮- createOperatorButton(String operator):创建运算符按钮- createDisplayScreen():创建显示屏Main类:- main(String[] args):主函数,启动计算器界面5. 实验结果分析通过实验,我们成功地实现了一个简单的计算器,用户能够输入数字并进行加、减、乘、除等运算。

java计算器设计报告

java计算器设计报告

1
目录
摘要.............................................................................................................1 1 概述..........................................................................................................3
5
jButton4.addActionListener(this); pnl.add(jButton4); jButton5=new JButton("5"); jButton5.addActionListener(this); pnl.add(jButton5); jButton6=new JButton("6"); jButton6.addActionListener(this); pnl.add(jButton6); jButtonJIA=new JButton("+"); jButtonJIA.addActionListener(this); pnl.add(jButtonJIA); jButton7=new JButton("7"); jButton7.addActionListener(this); pnl.add(jButton7); jButton8=new JButton("8"); jButton8.addActionListener(this); pnl.add(jButton8); jButton9=new JButton("9"); jButton9.addActionListener(this); pnl.add(jButton9); jButtonJIAN=new JButton("-"); jButtonJIAN.addActionListener(this); pnl.add(jButtonJIAN); jButton0=new JButton("0"); jButton0.addActionListener(this); pnl.add(jButton0); jButtonQINGKONG=new JButton("清空"); jButtonQINGKONG.addActionListener(this); pnl.add(jButtonQINGKONG); jButtonCHENG=new JButton("*"); jButtonCHENG.addActionListener(this); pnl.add(jButtonCHENG); jButtonCHU=new JButton("/"); jButtonCHU.addActionListener(this); pnl.add(jButtonCHU); jButtonQUYU=new JButton("%"); jButtonQUYU.addActionListener(this); pnl.add(jButtonQUYU); jButtonPINGFANG=new JButton("平方"); jButtonPINGFANG.addActionListener(this); pnl.add(jButtonPINGFANG); jButtonXIAOSHUDIAN=new JButton("."); jButtonXIAOSHUDIAN.addActionListener(this); pnl.add(jButtonXIAOSHUDIAN);

java课程设计计算器

java课程设计计算器

java课程设计 计算器一、课程目标知识目标:1. 理解Java基本语法和程序结构,掌握算术表达式的编写;2. 掌握使用Java进行数值运算的方法,理解数据类型转换规则;3. 了解简单的异常处理机制,理解其与计算器程序的关系。

技能目标:1. 能够运用所学知识,独立编写一个具备基本功能的计算器程序;2. 学会使用Java控制台输入输出,实现用户与程序的交互;3. 能够通过调试和修改代码,解决计算器程序中的常见错误。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发其主动探索和解决问题的热情;2. 培养学生的团队协作意识,使其学会在编程过程中互相帮助和分享经验;3. 培养学生的逻辑思维能力,提高其分析问题和解决问题的能力。

本课程针对具有一定Java基础的学生设计,结合计算器项目实践,旨在巩固和拓展所学知识,提高学生的编程能力和实际应用能力。

课程注重培养学生的动手实践能力,强调理论与实践相结合,使学生能够在实践中掌握Java编程技巧,培养良好的编程习惯。

通过本课程的学习,学生将能够独立完成一个简单的计算器程序,提高其在实际编程中的问题解决能力。

二、教学内容1. Java基本语法与程序结构复习(教材第3章)- 简单的变量声明与赋值- 基本算术运算符的使用- 程序的控制流程:顺序、分支(if-else)、循环(for、while)2. Java数据类型与运算(教材第4章)- 数据类型转换规则- 运算符优先级- 算术表达式编写3. Java控制台输入输出(教材第5章)- 使用Scanner类进行输入- 使用System.out.print和System.out.println进行输出4. 简单异常处理(教材第7章)- 异常的概念与分类- try-catch语句的使用- 异常处理在计算器程序中的应用5. 计算器程序设计实践- 设计计算器功能需求- 编写计算器程序代码- 调试与优化计算器程序教学内容安排与进度:第一课时:复习Java基本语法与程序结构,明确计算器项目需求第二课时:学习Java数据类型与运算,编写计算器核心算法第三课时:掌握Java控制台输入输出,实现计算器用户交互第四课时:了解简单异常处理,优化计算器程序第五课时:计算器程序设计实践,调试与改进教学内容注重理论与实践相结合,通过逐步引导,使学生能够将所学知识应用于计算器程序设计,提高编程实践能力。

java计算器设计报告

java计算器设计报告

设计报告课题名称:计算器设计学院:专业班级:学号:学生:指导教师:教务处年月日学生指导教师课题名称JAVA计算器课程设计设计时间设计地点设计目的图形界面设计,熟悉java.awt包中的组件,掌握图形界面设计方法,理解委托事件处理模型。

从而检测对这门课的掌握情况,有助于及时查漏补缺。

1.1功能模块设计以下为标准计算器的基本功能:(1)加法两个数据进行加操作,可以为小数。

(2)减法两个数据进行减操作,可以为负数相减。

(3)乘法两个数相乘操作。

(4)除法两个数相除操作。

(5)开平方对任意一个数进行开方运算,可以是小数。

(6)百分号对任意一个数进行百分号运算。

(7)倒数对任意一个数进行倒数运算。

1.2标准计算器界面(图1-1)图1-1 1.3系统功能图(图1-2)2标准计算器演示(1)启动计算器(图2-1)图2-1(2)加法、乘法运算分别输入9和3然后分别计算其加法、乘法运算(图2-2,图2-3)图2-2(加法运算)图2-3(乘法运算)(3)开平方运算sqrt(图2-4)图2-4(4)百分号运算%(图2-5)图2-5(5)倒数运算1/x(图2-6)图2-63程序设计过程中的问题该设计目前还不太完整全面,在测试时有以下问题:1.在进行aqrt 、%、 1/x这三个运算后再输入数据就在文本框中继续输入,不能重新输入。

需要按下清零键才可继续输入下一数据再进行运算。

2.菜单栏中虽然设计了“查看—标准型、科学型、数字分组”以及“帮助—帮助主题、关于计算器”可是其功能并没有时间。

3.该计算器设计了有关内存的操作,可是并没有达到预期中的效果。

java课程设计简易计算器

java课程设计简易计算器

前端:使用JavaFX进行界面设计 后端:使用Java进行逻辑处理和数据存储 数据库:使用MySQL进行数据存储 功能模块:包括加法、减法、乘法、除法、平方根等计算功能 测试:使用JUnit进行单元测试和集成测试 打包:使用Maven进行项目打包和部署
功能按钮:包括数字、运算 符、清除、等于等
易于阅读
输入框:用于输入数字和运算符号 输出框:用于显示计算结果 格式化规则:数字和运算符号之间用空格分隔 错误提示:当输入错误时,给出提示信息 计算结果:显示计算结果,并保留小数点后两位 清空按钮:用于清空输入框和输出框中的内容
输入两个数字 调用加法函数 返回结果 打印结果
输入两个数字
判断两个数字的大小关系
使用代码覆盖率工具:检查 代码覆盖率,确保所有代码 都被测试到
使用调试工具:如Eclipse、 IntelliJ IDEA等,提供丰富的 调试功能
阅读错误信息:仔细阅读错 误信息,找出问题所在,并 尝试解决
测试目的:验证程序的正确性和稳 定性
测试结果:记录测试过程中的错误 和异常
添加标题
添加标题
添加标题
编写单元测试:编写针对每个 方法的单元测试,确保每个方 法都能独立运行
调试单元测试:在测试过程中 发现错误时,使用调试工具定
位问题并修复
优化单元测试:根据测试结果 对单元测试进行优化,提高测
试覆盖率和效率
集成测试的概念:将多个模块组合起来进行测试,验证模块间的交互和协作是否正确
编写集成测试的步骤:确定测试目标、设计测试用例、编写测试代码、执行测试
添加标题
测试方法:单元测试、集成测试、 系统测试等
测试结论:对测试结果的分析和总 结,提出改进建议
收获:掌握了Java编程基础,了解了计算器的设计原理和实现方法 不足之处:项目规模较小,功能较为简单,需要进一步学习和实践 展望:未来可以尝试设计更复杂的计算器,或者将Java编程应用到其他领域

java课程设计计算器报告书软件工程

java课程设计计算器报告书软件工程

java课程设计计算器报告书软件工程1. 背景介绍近年来,Java编程语言已经成为软件开发的焦点,Java之所以如此受欢迎,原因在于它的可移植性和平台无关性。

随着Java应用的广泛使用,Java课程设计计算器已成为很多计算机专业学生的必修课程。

Java课程设计计算器是一种基于Java语言开发的计算器软件,可用于数学计算和常规计算。

Java课程设计计算器需要进行软件工程化的设计。

2. 项目描述Java课程设计计算器是一种基于控制台应用程序的计算机软件,它具有基本的算数操作,如加、减、乘、除和幂运算符。

Java课程设计计算器还支持三角函数,指数函数,对数函数,阶乘和平方根。

用户可以使用控制台输入表达式,然后查看计算结果。

Java课程设计计算器软件工程项目的目标是基于软件工程的概念和方法,对这个简单的计算器软件进行系统化的分析、构建和测试。

3. 团队成员本项目由四名成员组成,分别是Sophia、Peter、David和Rachel。

Sophia 是项目的组长,负责项目管理和实施工作。

Peter 是项目的技术主管,负责软件建模和设计工作。

David和Rachel 则是开发团队的核心部分,负责编写代码和测试工作。

4. 系统架构设计Java课程设计计算器采用MVC 模式来设计系统架构,系统包括Model、View 和Controller 三个部分。

- Model 部分:Model 是Java代码的核心部分,实现了计算器计算功能。

Model中包括Calculation 类,可以对输入的算式进行语法分析和计算,并返回计算的结果。

Calculation 类还包括ExpressionToken 和Operator 两个子类,用于完成数学表达式的分词和计算运算符的优先级。

- View 部分:View 用于将输入的算式和计算结果输出到用户的控制台界面。

在View 部分中包括CalculatorUI 类,接收用户输入,并在控制台中显示运算结果。

java编写的计算器设计报告

java编写的计算器设计报告

java编写的计算器设计报告实验7:综合实验二一、试验目的进一步掌握图形用户界面GUI,了解Swing组件的使用,以及系统提供的该工具的作用,进一步掌握JAVA事件响应机制的原理,更好的掌握面向对象编程的思路。

二、实验要求创建一个界面来实现一个简单的计算器,要求:1、实现最基本的计算器界面,包括:0~9的10个数字按钮,加、减、乘、除、等于5个运算符按钮,一个结果存放的文本区域。

2、实现最基本的加、减、乘、除运算,并能得到正确结果。

3、实现连续的运算,小数点的使用,并考虑各种可能导致异常的情况,将程序作完善;4、可以通过关闭按钮实现关闭窗口。

三、实验步骤、结果1、程序代码:import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent; importjava.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.SwingConstants;public class ZhxCacu extends JFrame implements ActionListener { JPanel jpResult = new JPanel();JPanel jpButton = new JPanel();JTextField jtfResult = new JTextField("0");JButton zero = new JButton("0"); //数字键0JButton one = new JButton("1"); //数字键1JButton two = new JButton("2"); //数字键2JButton three = new JButton("3"); //数字键3JButton four = new JButton("4"); //数字键4JButton five = new JButton("5"); //数字键5JButton six = new JButton("6"); //数字键6JButton seven = new JButton("7"); //数字键7JButton eight = new JButton("8"); //数字键8JButton nine = new JButton("9"); // 数字键9JButton plus = new JButton("+");JButton sub = new JButton("-");JButton mul = new JButton("*");JButton div = new JButton("/");JButton equal = new JButton("=");JButton ce = new JButton("ce"); // 置零键JButton point = new JButton(".");JButton tzero = new JButton("00");//com代表敲击运算符,digit代表敲击数字键boolean com = false;boolean digit = false;float total=0;String sum="";int symbol=0;int b,c=0;public ZhxCacu(){// 添加结果输入框并设置对齐方式jpResult.setLayout(new BorderLayout());jpResult.add(jtfResult);jtfResult.setEditable(false);jtfResult.setHorizontalAlignment(SwingConstants.RIGHT); //将组件添加到窗体上this.add(jpResult,"North");this.add(jpButton,"Center");// 定义按钮区域布局管理器为网格布局jpButton.setLayout(new GridLayout(6, 3, 10, 10));// 添加各个按钮键jpButton.add(seven);jpButton.add(eight);jpButton.add(nine);jpButton.add(four);jpButton.add(five);jpButton.add(six);jpButton.add(one);jpButton.add(two);jpButton.add(three);jpButton.add(zero);jpButton.add(tzero);jpButton.add(plus);jpButton.add(sub);jpButton.add(mul);jpButton.add(div);jpButton.add(point);jpButton.add(equal);jpButton.add(ce);one.addActionListener(this);//对1按钮添加监听事件two.addActionListener(this);//对2按钮添加监听事件three.addActionListener(this);//对3按钮添加监听事件four.addActionListener(this);//对4按钮添加监听事件five.addActionListener(this);//对5按钮添加监听事件six.addActionListener(this);//对6按钮添加监听事件seven.addActionListener(this);//对7按钮添加监听事件eight.addActionListener(this);//对8按钮添加监听事件nine.addActionListener(this);//对9按钮添加监听事件zero.addActionListener(this);//对0按钮添加监听事件ce.addActionListener(this);//对置零按钮添加监听事件plus.addActionListener(this);//对+按钮添加监听事件equal.addActionListener(this);//对=按钮添加监听事件sub.addActionListener(this);//对-按钮添加监听事件mul.addActionListener(this);//对*按钮添加监听事件div.addActionListener(this);//对/按钮添加监听事件tzero.addActionListener(this);//对00按钮添加监听事件point.addActionListener(this);//对.按钮添加监听事件pack();//初始化窗体大小最合适大小this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});this.setSize(300,300);this.setVisible(true);}public static void main(String[] args) {// TODO 自动生成方法存根new ZhxCacu();}public void actionPerformed(ActionEvent e) {// TODO 自动生成方法存根//数字if(e.getSource()==one){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("1");com = false;digit = true;}else{sum = jtfResult.getText()+"1"; jtfResult.setText(sum);}}else if(e.getSource()==two){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("2");com = false;digit = true;}else{sum = jtfResult.getText()+"2"; jtfResult.setText(sum);}}else if(e.getSource()==two){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("2");com = false;digit = true;}else{sum = jtfResult.getText()+"2"; jtfResult.setText(sum);}}else if(e.getSource()==two){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("2");com = false;digit = true;}else{sum = jtfResult.getText()+"2"; jtfResult.setText(sum);}}else if(e.getSource()==two){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("2");com = false;digit = true;}else{sum = jtfResult.getText()+"2"; jtfResult.setText(sum);}}else if(e.getSource()==three){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("3");com = false;digit = true;}else{sum = jtfResult.getText()+"3"; jtfResult.setText(sum);}}else if(e.getSource()==four){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("4");com = false;digit = true;}else{sum = jtfResult.getText()+"4"; jtfResult.setText(sum);}}else if(e.getSource()==five){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("5");com = false;digit = true;}else{sum = jtfResult.getText()+"5"; jtfResult.setText(sum);}}else if(e.getSource()==six){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("6");com = false;digit = true;}else{sum = jtfResult.getText()+"6"; jtfResult.setText(sum);}}else if(e.getSource()==seven){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("7");com = false;digit = true;}else{sum = jtfResult.getText()+"7";jtfResult.setText(sum);}}else if(e.getSource()==eight){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("8");com = false;digit = true;}else{sum = jtfResult.getText()+"8"; jtfResult.setText(sum);}}else if(e.getSource()==nine){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("9");com = false;digit = true;}else{sum = jtfResult.getText()+"9"; jtfResult.setText(sum);}}else if(e.getSource()==zero){if(com||digit==false){//第一次敲击数字按jtfResult.setText("0");com = false;digit = true;}else{sum = jtfResult.getText()+"0"; jtfResult.setText(sum);if(Float.parseFloat(sum)!=0){}else{if(b==1){sum = jtfResult.getText()+"0"; jtfResult.setText(sum);}elsejtfResult.setText("0");}}}else if(e.getSource()==tzero){if(com||digit==false){//第一次敲击数字按jtfResult.setText("00");com = false;digit = true;}else{sum = jtfResult.getText()+"00";jtfResult.setText(sum);}}else if(e.getSource()==point){if(com||digit==false){//第一次敲击数字按钮b=1;com = true;digit = false;}else if(c==1); else{b=1;sum = jtfResult.getText()+".";jtfResult.setText(sum);c=1;}}//运算else if(e.getSource()==plus){symbol = 1;c=0;total = Float.parseFloat(jtfResult.getText()); com = true;digit = false;}else if(e.getSource()==sub){symbol = 2;c=0;total = Float.parseFloat(jtfResult.getText()); com = true;digit = false;}else if(e.getSource()==mul){symbol = 3;c=0;total = Float.parseFloat(jtfResult.getText()); com = true;digit = false;}else if(e.getSource()==div){symbol = 4;c=0;total = Float.parseFloat(jtfResult.getText()); com = true;digit = false;}else if(e.getSource()==ce){com = true;digit = false;total=0;sum ="0" ;jtfResult.setText(sum);}//=else if(e.getSource()==equal){com = true;digit = false;switch(symbol){case 1:jtfResult.setText(newFloat(total+Float.parseFloat(jtfResult.getText())).toString());b=0;c=0;b reak;case 2:jtfResult.setText(newFloat(total-Float.parseFloat(jtfResult.getText())).toString());b=0;c=0;break;case 3:jtfResult.setText(newFloat(total*Float.parseFloat(jtfResult.getText())).toString());b=0;c =0;break;case 4:if( Float.parseFloat(jtfResult.getText())==0 ){try{throw new Exception();}catch(Exception a){jtfResult.setText("错误~被除数不能为0,请重新输入:");}}elsejtfResult.setText(newFloat(total/Float.parseFloat(jtfResult.getText())).toString());b=0;c =0;break;}digit=false;total = 0;}}}2、界面:四、实验中的问题以及解决方案:1、问题: 被除数为0解决:抛出异常2、问题: 阻止0、小数点在同一数字中重复出现解决: 设置标志,五、总结:1、进一步了解了项目开发的步骤,思路,以及程序的布局和框架结构,尤其是对JAVA的模块化设计有了更为深入的了解。

Java课程设计报告之计算器(原创)

Java课程设计报告之计算器(原创)

湖南理工学院Java课程设计报告院别: 计算机学院题目:简易计算器专业班级:计科1402班学生姓名:XXX学号:XXXXXXXX指导教师:XXX完成时间:2016年6月1日目录1、课程设计目的 (3)2、设计题目分析 (3)2.1、设计任务 (3)2.2、课程设计要求 (3)3、课程设计内容 (4)3.1、系统总体设计框架 (4)3.2、调试与测试 (4)4、设计心得与总结 (6)5、附录 (7)(1)熟练掌握java面向对象编程,进一步加深对java 语言的理解和掌控。

(2)掌握Java图形界面的实现和相应事件的处理(3)将课本上的理论知识和实际有机结合起来,锻炼我们的分析解决实际问题的能力。

提高我们适应实际,实践编程的能力。

2、设计题目分析2.1、设计任务利用JAVA语言设计一个简易的计算器,实现加,减,乘,除,平方,开方,数的倒数等功能。

2.2、课程设计要求(1) 对系统进行功能模块分析、控制模块分析正确;(2) 系统设计要实用;(3) 编程简练,可用,具有较好的健壮性;(4) 说明书、流程图要清楚。

3.1、系统总体设计框架3.2、调试与测试包括程序调试过程、数据测试结果分析,测试过程中遇到的主要问题及采取的解决措施;(列出主要问题的出错现象、出错原因、解决方法及效果等)。

问题:出现当输入第一个数据后,再输入第二个数据时,第一个数据没有存储在文本框显示出来解决方法:添加一个static的字符串变量t用于获取和存储文本框上的类容,然后再让文本框获取操作区输入的数据和字符串t的内容。

问题:将文本框的算式字符串变量转换成算式。

解决方法:调用import javax.script.*;里面的eval()方法直接将算式字符串转换成计算式。

待解决问题:当向文本框输入一个数据,然后再连续输入两个运算符号的时候,该计算器并未报错,也没有给出相应的解决方法。

这个问题虽然对程序整体而言并没有什么太大的影响,但却使得程序并不完善,有待改进。

java程序设计报告---设计一个计算器

java程序设计报告---设计一个计算器

课程设计课程设计目的设计一个基于Swing的计算器应用程序,完成普通的算术运算。

课程设计要求1.设计的计算器是基于Swing的,可以完成加减乘除和取余运算。

2.增加计算器的日期计算功能,能够计算两个日期之间相距的天数。

(要判断键入的日期格式是否正确,并能正确处理按钮动作事件,同时能够得到正确的计算结果)设计要点主要练习使用布局管理器设计一个计算器的界面,并使用事件监听器处理数据的输入,完成相关的计算。

在面板上可以增加一个算术/日期的转换按钮来选择是普通计算还是日期计算。

以及增加一个清零的按钮CE,用以将显示结果的单行文本域清空,同时将各个参数设置为默认值。

二、总体方案设计日常生活中经常需要用到计算器,比如科学计算,数值计算,会计业务等等,在Applet 中实现一个精巧的计算器,可以让用户的操作也更方便和快捷。

本项目需要实现一个具有四则运算的计算器,能够实现基本的加、减、乘、除运算,以及其它的辅助功能;界面简洁适用;要提供主要的设计思路、类的设计,本次设计添加转进制等功能。

本应用程序继承自框架(frame),此程序使用frame布局管理器bordelayout,将单行文本加入相应区域,包含各种按纽的面板buttonpanel加入相应区域还可以将进制转换的面板与单行文本框放一块包含各种按纽的面板buttonpanel采用N行N列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中,同时注册按钮事件监听器。

布局设计好后再添加按钮事件。

对于此程序要考虑到点击加、减、乘、除按钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。

四、程序的调试与运行结果说明程序功能实现:使用swing组件和awt图形用户界面以及BroadLayout布局管理器。

通过在按钮的单击事件处理方法中调用类的成员方法calculator()来进行简易计算器的各种运算,并正确实现运算功能。

Java计算器课程设计报告

Java计算器课程设计报告

石家庄职业技术学院课程设计报告计算器应用程序学生姓名:指导教师:系别:专业:年级:论文提交时间:年月日目录一概述 (3)二总体方案设计 (4)三详细设计 (5)四程序的调试与运行结果说明 (7)五课程设计总结 (9)六附录 (10)一概述1.程序具备的功能:(1)使用图形用户界面:一个文本框;0-9数字按钮;加、减、乘、除运算符;“等于”符号;复位按钮;(2)完成整数、实数的四则运算(加、减、乘、除);(3)通过按钮点击实现数据的复位(清零);(4)实数运算中小数位的精度一致。

2.课程设计的主要设计思想对于此计算器程序,首先要设计其GUI界面,总体界面有一个文本框,18个按钮,总体界面用BorderLayout布局。

文本框放置在最NORTH,然后0到9以及+,-,*,/的按钮放置到一个面板Panel中,添加到整体布局的CENTER,界面设计完成。

布局设计好后再添加按钮事件。

对于此程序要考虑到点击加、减、乘、除按钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。

在进行加、减、乘、除计算时要把点击加、减、乘、除按钮之前的数值保存下来,运算时是这个被保存下来的数值和文本框中的数值加、减、乘、除。

二总体方案设计1.界面设计界面设计要求用GUI,界面设计中有用到swing组件的TextField和Button,用到awt中的BorderLayout和GridLayout布局管理方式,其图形界面如下:2.功能介绍这是计算器中的一种:简单计算器,本项目用到了Java中的GUI界面和swing 组件以及awt布局,所以简单易用,它能完成如下的几个小功能:点击按钮中的数字键和运算符键就能进行简单的加、乘、乘、除求模四则运算;还能通过用户自己在文本框中输入数字,进行简单运算;如果输入有误时可以按Clear撤销后重新输入新数据三详细设计程序流程图如下:部分代码展示及说明:这段代码主要是对程序的主框架进行相应的设置。

java课程设计计算器报告书模版(软件工程)

java课程设计计算器报告书模版(软件工程)
添加了三个面板进行组件布局
panel1=new JPanel();
panel2=new JPanel();
panel3=new JPanel();
面板penel1中包括显示操作结果的文本区,penel中包括退格按钮"Backspace",全部清除按钮"CE",本次清除按钮"C",开始按钮"ON",关闭按钮"OFF"。Penel3中包括数字按钮"0","1","2","3","4","5","6","7","8","9"小数点按钮".",除号按钮("/"),求根按钮
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
二实现动作事件监听接口
public class JiSuanQi extends JFrame implements ActionListener
Button b1=new Button();
b1.addActionListener(this); b2.addActionListener(this);
事件监听器中的事件处理方法void actionPerformed(ActionEvent evt)完成主要的按钮事件的处理。事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”…”8”,”9”)、运算符按钮事件(”+”,”-“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”=”)、求倒按钮事件(”1/x”)、退格按钮事件(”退格”)、清楚按钮事件(“C”)。

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

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

目录一、课设任务及要求 (1)二、需求分析 (2)三、设计思路 (3)四、详细设计 (4)五、运行调试与分析讨论 (14)六、设计体会与小结 (18)七、参考文献 (19)一、课设任务及要求1)课设任务:⑴、设计的计算器应用程序可以完成加法、减法、乘法、除法以及取余运算(可以进行浮点数和负数的运算);⑵、有求倒数、退格和清零功能。

2)创新要求:能进行正切、余弦,以及求平方根、指数(包括对e)、自然对数运算。

3)设计要求①设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。

且有小数点、正负号、求倒数、退格和清零功能。

②课程设计可选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效率,通过资料查阅和学习尽可能熟练掌握其中一种集成开发环境。

③认真按时完成课程设计报告,课程设计报告内容包括:设计任务与要求、需求分析、设计思路、详细设计、运行调试与分析讨论和设计体会与小结六个部分。

二、需求分析⑴、开发的技术及功能本课程设计是要做一个图形界面的计算器,其界面主要是由swing组件中的控件构成。

程序实现了计算器的基本功能有:加、减、乘、除基本算术运算(可以进行浮点和负数运算)和sin、cos、tan等三角函数求值运算,同时能进行指数运算和自然对数运算,还有求倒数、退格和清零功能。

⑵设计思路设计这个计算器主要是参考Windows操作系统中自带的计算器,由于编者水平和时间的限制,不能将计算器设计到科学型及其他更复杂的类型,在设计过程中还参考了一些其他的优秀设计。

但本计算器除了常用的加减乘除(可以进行浮点和负数运算)这些基本运算外,还有求余、求倒、退格、清零,甚至还能进行一些复杂科学的运算,比如余弦(cos)、正切(tan)、指数运算(pow)、自然对数运算(log)、求平方根(sqrt)以及对e的指数运算(exp),并且还能进行连续运算。

总体上说来,本计算器设计简单,代码很少,程序很小,但功能却很强大,这是同类计算器所不具备的。

Java课程设计(计算器)

Java课程设计(计算器)
面设计
界面布局:简洁明了,易于操作 输入框:用于输入数字和运算符号 计算按钮:用于执行计算操作
结果显示框:用于显示计算结果 历史记录框:用于查看历史计算记录 帮助按钮:用于查看帮助信息或联系客服
功能需求优先级
基本运算功能:加、 减、乘、除
科学计算功能:平方、 开方、三角函数等
错误处理:处 理用户输入错 误,如输入非
数字字符等
功能扩展:支 持更多运算符 号和功能,如 平方、开方等
代码优化:提 高代码可读性 和可维护性, 减少代码冗余
和错误
测试与调试
单元测试:对每个功能模块进行独立测试,确保其正确性 集成测试:将各个功能模块组合起来进行测试,确保整体功能的正确性 边界值测试:对输入和输出边界值进行测试,确保程序在边界条件下的稳定性
Part Five
总结与展望
项目总结
项目目标:设计并实现一个计算器 项目成果:实现了加减乘除、平方根、正弦余弦等计算功能 项目难点:处理用户输入和错误处理 项目改进:优化界面设计,增加更多计算功能,提高用户体验
项目亮点与不足
● 项目亮点: - 界面设计简洁明了,易于操作 - 代码结构清晰,易于维护和扩展 - 功能齐全,满足日常 计算需求 - 性能稳定,响应速度快
实际应用价值
提高编程能力: 通过设计计算 器,可以提升 Java编程技能
理解算法原理: 通过设计计算 器,可以深入 理解算法原理
和实现方法
提高问题解决 能力:通过设 计计算器,可 以提升解决实 际问题的能力
提升团队协作 能力:通过设 计计算器,可 以提升团队协 作和沟通能力
THANKS
汇报人:
Java课程设计(计算器)
,a click to unlimited possibilities

java课程设计报告 -计算器+学生信息管理系统

java课程设计报告 -计算器+学生信息管理系统

《Java程序设计》课程设计报告系部:计算机工程系专业班级:12XXX学号:0XX姓名:XXX指导老师:XXX完成时间:20XX年X月XX日目录目录 (2)题目一计算器 (3)1.1 设计的内容、要求和目标 (3)1.1.1设计内容 (3)1.2设计要求 (3)1.3 总体设计 (3)1.3.1 功能设计 (3)1.3.2 相关类设计 (3)1.4详细设计及实现 (4)1.5. 系统运行环境 (9)题目二学生信息管理系统 (9)1.1 设计的内容、要求和目标 (9)1.1.1设计内容 (9)1.2设计要求 (9)1.3 总体设计 (9)1.4详细设计及实现 (10)} (22)1.5. 系统运行环境 (22)Windows 7+jdk1.8 + eclipse (22)题目一计算器1.1 设计的内容、要求和目标1.1.1设计内容本次课程设计的主要目的是设计一个计算器。

本次课程设计所开发的计算器可以实现基本的四则运算功能。

1.2设计要求利用awt组件编写一个计算器,实现基本的四则运算。

1.3 总体设计1.3.1 功能设计以下为标准计算器的基本功能:1.3.2 相关类设计1.4详细设计及实现系统界面设计功能演示关键代码package java1;import java.applet.Applet; import java.awt.*; import java.awt.event.*; import javax.swing.*;public class cccc extends Applet { /** * */private static final longserialVersionUID = 1L; //没啥作用private JButton[] button=newJButton[19]; //定义一个按钮数组private static final int HEIGHT=50; //确定每个按钮的高度private static final int LENGTH=50; //确定每个按钮的长度private static final int INPUT_NUMBER_ONE=0; //定义输入状态private static final int INPUT_NUMBER_TWO=1;private static final int NOT_INPUT=-1;private int button_X=20; //定按钮的起始坐标private int button_Y=10; private int i; private intInput_State=INPUT_NUMBER_ONE; //初始化输入状态private int Operator_num;//操作符的下标private JTextArea textarea; private String[]s={"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+","Clear","Reset","Close"}; //定义一个字符串数组private StringBuffer s1=new StringBuffer();private StringBuffer s2=new StringBuffer();private StringBuffer s4=new StringBuffer();private String s3=new String(); private String s5=new String();private double result1; //获取 number_oneprivate double result2; //获取 number_twoprivate double result; //得到最终运算结果 private int[]Operator={0,0,0,3,0,0,0,7,0,0,0,11,0,0,14,15}; //对应于按钮数组,不为0的为操作符public void init(){r esize(280,450);//设定页面大小setLayout(null);//设定布局方式for (i=0;i<16;i++) {if(i%4==0&&i!=0) //每行设定四个按钮,再次初始化坐标 { button_X=20;button_Y+=60;}button[i]=newJButton(s[i]); //实类化一个按钮button[i].setBounds(button_X,button_Y, HEIGHT, LENGTH); //确定按钮的坐标与大小 button_X+=60;add(button[i]);button[i].addActionListener(newButtonAction()); //监听按钮时间 }button_X=20;button_Y=260;textarea=newJTextArea("",5,100); //设定文本域textarea.setBounds(button_X,button_Y, LENGTH+170, HEIGHT+40);textarea.setBackground(Color.LIGH T_GRAY);textarea.setWrapStyleWord(true); textarea.setEditable(false); add(textarea);button_X=20;button_Y=380;for(i=16;i<19;i++)//设定选择按钮(clear Reset close ){button[i]=newJButton(s[i]);button[i].setBackground(Color.gre en);button[i].setBounds(button_X, button_Y, LENGTH+30, HEIGHT-10);button_X+=80;add(button[i]);button[i].addActionListener(new ButtonAction()); }for(i=0;i<5;i++)//只是文本域中布局 {s1=s1.append(" ");}Init_TextArea(); //初始化文本域}public void Init_TextArea(){textarea.setText(s1+"0\n\n\n\n"+s 1+"0");textarea.setFont(new Font("宋体",100,15)); //设置字体}//实现监听事件的类class ButtonAction implementsActionListener {public void actionPerformed(ActionEvent e){Object obj=e.getSource(); //获取事件源for(i=0;i<19;i++)//匹配19个按钮 {if(obj==button[i]&&i>15) //3个选择按钮的监听事件{ if(i==17){s2.delete(0, s2.length()); s4.delete(0, s4.length());s3=null; s5=null;Input_State=INPUT_NUMBER_ONE;Init_TextArea(); }if(i==18) {System.exit(1); } if(i==16) { if(Input_State==INPUT_NUMBER_ONE) { if(s2.length()==0) {continue;}//字符串删去最后一个字符,用StringBuffer 类型会在源字符串上进行操作,减少内存的浪费s2.deleteCharAt(s2.length()-1); s3=s2.toString();textarea.setText(s1+""+s3+"\n\n\n\n"+s1+"0"); //文字输入方式是由左向右textarea.setAlignmentX(LEFT_ALIGNMENT );}if(Input_State==INPUT_NUMBER_TWO) { if(s4.length()==0){continue;}s4.deleteCharAt(s4.length()-1);s5=s4.toString();textarea.setText(s1+s3+"\n\n"+s[Opera tor[Operator_num]]+s1+s5+"\n\n"+s1+"0"); } }}else { if(obj==button[i]&&Operator[i]!=0){if(i==14)//如果事件源的按钮是=号{result1=Double.parseDouble(s3);result2=Double.parseDouble(s5);switch(Operator_num) //选择是哪种操作符{case3:result=result1/result2;break;case7:result=result1*result2;break;case11:result=result1-result2;break;case15:result=result1+result2;break;}textarea.setText(s1+s3+"\n\n"+s[O perator[Operator_num]]+s1+s5+"\n\n"+s1+""+result);Input_State=NOT_INPUT;//打印输出结果后,将输入状态设为NOT_INPUT}else{textarea.setText(s1+s3+"\n\n"+s[Operator[i]]+"\n\n"+s1+"0");Input_State=INPUT_NUMBER_TWO; s4.delete(0,s4.length());Operator_num=i; //记录操作符号的下标}}if(obj==button[i]&&Operator[i]==0 ){if(Input_State==INPUT_NUMBER_ONE){s2.append(s[i]);s3=s2.toString();textarea.setText(s1+""+s3+"\n\n\n\n"+s1+"0");textarea.setAlignmentX(LEFT_ALIGN MENT);}if(Input_State==INPUT_NUMBER_TWO){s4.append(s[i]); s5=s4.toString();textarea.setText(s1+s3+"\n\n"+s[Opera tor[Operator_num]]+s1+s5+"\n\n"+s1+"0 ");}}}}}}}1.5. 系统运行环境Windows 7+jdk1.8+ eclipse题目二学生信息管理系统1.1 设计的内容、要求和目标1.1.1设计内容本次课程设计的主要目的是设计一个学生信息管理系统。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计(论文)任务书1.本课程设计的目的(1)使学生巩固和提高Java编程技术(2)培养学生掌握程序设计的基本思路和方法;(3)加强学生研发、调试程序的能力;(4)培养学生分析、解决问题的能力;(5)提高学生的科技论文写作能力。

2.课程设计的任务及要求(以制作一个图形编辑系统作为模板)1)任务:设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算、设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。

且有小数点、正负号、求倒数、退格和清零等功能。

用鼠标单击相应的数字键和运算符号键,然后单击=按钮,窗口上方的文本框将会显示计算出来的结果,要将文本编辑框清零,可单击清零按钮。

2)创新要求:在基本要求达到后,可进行创新设计,如:如何利用鼠标选取图形,删除。

3)课程设计论文编写要求(1)课程设计任务及要求(2)需求分析(3)设计思路--工作原理、功能规划(4)详细设计---数据分析、算法思路、类设计、功能实现(含程序流程图、主要代码及注释)、界面等。

(4)运行调试与分析讨论---给出运行屏幕截图,分析运行结果,有何改进想法等。

(5)设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些知识,有哪些提高。

(6)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式)(7) 报告按规定排版打印,要求装订平整,否则要求返工;(8) 课设报告的装订顺序如下:封面---任务书---中文摘要---目录----正文---附录(代码及相关图片)(9)严禁抄袭,如有发现,按不及格处理。

一、课设任务及要求 (1)二、需求分析 (2)三、设计思路 (7)四、详细设计 (8)五、运行调试与分析讨论 (15)六、设计体会与小结 (24)七、参考文献 (25)八、源代码 (23)一、课设任务及要求设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算、设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。

且有小数点、正负号、求倒数、退格和清零等功能。

用鼠标单击相应的数字键和运算符号键,然后单击=按钮,窗口上方的文本框将会显示计算出来的结果,要将文本编辑框清零,可单击清零按钮。

二、需求分析一、状态定义二、1,刚启动计算器时的状态:开始计算按键开始键"ON"三、2.清零:计算刚启动时,或者任何时候键入了清零键,计算器所处的状态。

四、2.一个操作数:输入了一个操作数时计算器所处的状态,如键入“2”后的状态,此时操作数为“2”,或者依次键入“3”、“8”后的状态,此时操作数为“38”。

五、3.运算结果:键入了“=”键后计算器所处的状态,如依次键入“3+5=”之后计算器的状态。

在此状态如果输入数字,输入的数字将作为第一个操作数,开始一次新的计算。

六、4.一个操作数和一个两元符号:输入了一个操作数和加减乘除中的一个键后计算器的状态,如依次输入“2+”或“31×5=÷”之后计算器的状态。

七、5.操作数两元符操作数:输入了一个操作数、一个加减乘除符号和另一个操作数后计算器所处的状态,如依次键入“30÷4”或“3+5=÷5”后计算器的状态。

八、6.操作数两元符运算结果:输入了一个操作数、一个加减乘除符号和另一个操作数后紧接着键入开方键计算器所处的状态。

九、7.错误:执行非法计算后所处的状态,如执行÷0计算或者对负数的开方计算后的状态。

比如6/0后计算的结果是“0不能做除数”。

十、二、本计算器具有以下功能:用表说明状操作计算器响应结果状态态清零键入数字键,如1显示键入的数字,操作数=键入的数字一个操作数键入减号键相当于键入了-0,但负号不显示,只显示0。

一个操作数键入除减号键和数字键以外的键忽略键入的键,仍保留清零状态清零一个操作数键入数字键显示新操作数,新操作数=当前操作数*10+键入的数字一个操作数键入回退键显示新操作数,新操作数=当前操作数除以10取整一个操作数清屏键显示0,但操作数不变一个操作数键入清零(任何状态下,键入清零键都会到清零状态下,以下的状态不再重复)清零清零键入加减乘除中任意键仍显示操作数,跳转到状态“一个操作数和一个两元符号”一个操作数和一个两元符号键入开方键对操作数执行开方运算,显示运算结果运算结果键入=键显示操作数,如果操作数为负数,显示负号和操作数,如“-32”运算结果一个键入%忽略,不做任何处理一个操作数和一个两元操作数和一个两元符号符号键入加减乘除之一用新操作符替换原操作符,如当前是“30+”,接着键入“÷”则变为“30÷”一个操作数和一个两元符号键入=如果操作符为加法,则加0,显示结果;如果操作符为减法,显示为负数;如果操作符为乘法,显示为第一个操作数相乘,如键入12*=,结果为144;如果键入为除法,结果为1。

运算结果键入回退键第一个操作数回退一位,操作符保持不变,如:123+,键入回退键后显示12,操作符仍然为+一个操作数和一个两元符号键入开方键执行开方操作,操作符保持不变;例如:当前是“9+”,键入开方键则显示3。

运算结果键入数字键、小数点键入的为第二个操作数,例如:当前是“9+”,键入8,显示为8操作数2元操作符操作数运算结果键入加减乘除中任意键结果作为一个操作数,例如:当前是“45”,键入*,显示仍然是45,操作符是*,将执行乘法。

一个操作数和一个两元符号键入数字和小数点清除结果,键入的数值作为新的操作数;例如当前是“16开方”后的运算结果,显示是“4”;键入56,显示“56”。

一个操作数键入%、=键显示结果。

如:当前是“16+开方”后的运算结果,键入=,显示的结果为20。

执行16运算结果+16开方的运算;当前显示的结果9,或者任意其它值,输入%,运算结果显示“0”。

键入开方键运算结果再执行开方运算运算结果键入回退键结果回退一位,如当前显示“123”,键入回退键,显示“12”。

运算结果操作数2元操作符操作数键入加减乘除中任意键先执行前面的计算,显示结果并记下下一个操作符;例如:起始状态键入的是12*6,然后键入+,则显示72一个操作数和一个两元符号键入%例如输入:12+3%,结果0.36;12-3%,结果0.36;12*3%,结果0.36;12÷3%,结果0.36;一律按照乘法计算。

运算结果键入=执行运算,得出结果。

例如当前是键入了“1+2”,再键入“=”,显示“3”。

运算结果键入数字键、回退键、小数点键等待键入第二个操作数完毕操作数2元操作符操作数开方键第二个操作数开方操作数2元操作符运算结果操作符为除号,第二个操作数为0;负数开方不正确的运算错误操作数2元操作符运算结果键入数字键、小数点键忽略开方步骤,直接进行操作数与键入数字进行操作符的运算。

例如:4+9开方32结果为36;5-9开方65结果为-60。

操作数2元操作符操作数键入=计算结果。

例如:12+9开方=,先计算9开方=3,再12+3=15;12*64开方=,结果96。

运算结果键入%例如输入:12+9开方,再键入%结果0.36;12-9开方,再键入%结果0.36;12*9开方,再键入%结果0.36;12÷9开方,再键入%结果0.36;一律按照乘法计算。

运算结果键入加减乘除中任意键得到运算结果,并记忆操作符;例如12+9开方,键入+得到15+。

一个操作数和一个两元符号键入开方、回退键运算结果再次执行开方或者回退操作数2元操作符运算结果错误清零以外的任何键忽略,计算器不做任何响应错误清零键清零清零三、设计思路本应用程序继承自框架类(Frame),此程序使用Frame布局管理器GridBagLayout,将单行文本框加入到0行0列,包含各种按钮的面板Panel 3 采用4行5列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。

同时注册按钮事件监听器。

如:Button b1=new Button();b1.addActionListener(this); b2.addActionListener(this);事件监听器中的事件处理方法void actionPerformed(ActionEvent evt)完成主要的按钮事件的处理。

事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”…”8”,”9”)、运算符按钮事件(”+”,”-“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”=”)、求倒按钮事件(”1/x”)、退格按钮事件(”退格”)、清楚按钮事件(“C”)。

在事件处理。

触发按钮事件时,要进一步分析,是重新开始计算时触发的按钮事件还是计算中间触发的按钮事件。

四、详细设计一import语句,使用import语句引入java.awt.,java.awt.event.,javax.swing.,Javax.swing.border包中所有的类。

Java.awt.event.*引入系统事件类包。

import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;二实现动作事件监听接口public class JiSuanQi extends JFrame implements ActionListener注册事件源的动作监听者menuitem1.addActionListener(this);menuitem2.addActionListener(this); menuitem3.addActionListener(this);//注册事件监听器b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this);b4.addActionListener(this); b5.addActionListener(this); b6.addActionListener(this);b7.addActionListener(this); b8.addActionListener(this); b9.addActionListener(this);b10.addActionListener(this); b11.addActionListener(this); b12.addActionListener(this);b13.addActionListener(this); b14.addActionListener(this); b15.addActionListener(this);b16.addActionListener(this); b17.addActionListener(this);b18.addActionListener(this);b19.addActionListener(this); b20.addActionListener(this);b01.addActionListener(this); b02.addActionListener(this); b03.addActionListener(this);b04.addActionListener(this); b05.addActionListener(this);三组件的布局管理采用了AWT布局管理器当中最复杂的,同时功能也是最强大的GridBagLayout布局方式.GridBagLayout g=new GridBagLayout();GridBagConstraints c=new GridBagConstraints();添加了三个面板进行组件布局panel1=new JPanel();panel2=new JPanel();panel3=new JPanel();面板penel1中包括显示操作结果的文本区,penel中包括退格按钮"Backspace",全部清除按钮"CE",本次清除按钮"C",开始按钮"ON",关闭按钮"OFF"。

相关文档
最新文档