资源描述:
《java计算器课程设计报告---模拟科学计算器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、高级编程技术课程设计模拟科学计算器一.概述1.程序具备的功能:(1)使用图形用户界面:一个文本框;0-9数字按钮;加、减、乘、除运算符;“等于”符号;复位按钮;(2)完成整数、实数的四则运算(加、减、乘、除)以及三角函数的运算等等;(3)通过按钮点击实现数据的复位(清零);(4)实数运算中小数位的精度一致。实现要点:添加相关组件并进行按钮事件处理。要求提交源程序。2.课程设计的主要设计思想对于此计算器程序,首先要设计其GUI界面,总体界面有一个文本,总体界面用布局管理器布局。布局设计好后再添加按钮
2、事件。对于此程序要考虑到点击加、减、乘、除按钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。在进行加、减、乘、除计算时要把点击加、减、乘、除按钮之前的数值保存下来,运算时是这个被保存下来的数值和文本框中的数值加、减、乘、除以及三角函数等一系列的运算。二.课程设计思路1.界面设计界面设计要求用GUI,界面设计中有用到swing组件的TextField和But
3、ton,用到awt中的BorderLayout和GridLayout16布局管理方式,其图形界面如下:2.功能介绍这是计算器中的一种:简单计算器,本项目用到了Java中的GUI界面和swing组件以及awt布局,所以简单易用,它能完成如下的几个小功能:点击按钮中的数字键和运算符键就能进行简单的加、乘、乘、除求模四则运算;还能通过用户自己在文本框中输入数字,进行简单运算;如果输入有误时可以按Clear撤销后重新输入新数据。三.设计过程以及源代码程序流程图如下:16UML图如下:1616附录源程序:i
4、mportjava.awt.*;importjava.awt.event.*;importjava.text.DecimalFormat;importjavax.swing.*;publicclassCalucatorextendsJFrame{privateJTextFieldtf;privateJPanelpanel1,panel2,panel3,panel4;privateJMenuBarmyBar;privateJMenumenu1,menu2,menu3;privateJMenuItem
5、editItem1,editItem2,help1,help2,help3;privateJRadioButtonMenuItemseeItem1,seeItem2;//单选框privateJCheckBoxMenuItemseeItem3;//复选框privateButtonGroupbgb;privateStringback;privatebooleanIfResult=true,flag=false;privateStringoper="=";privatedoubleresult=0;pr
6、ivateNumnumActionListener;privateDecimalFormatdf;publicCalucator(){super("科学计算器");//设置标题栏df=newDecimalFormat("#.####");//保留四位小数this.setLayout(newBorderLayout(10,5));panel1=newJPanel(newGridLayout(1,3,10,10));panel2=newJPanel(newGridLayout(5,6,5,5));//
7、5行6列panel3=newJPanel(newGridLayout(5,1,5,5));panel4=newJPanel(newBorderLayout(5,5));/***菜单栏*/myBar=newJMenuBar();menu1=newJMenu("编辑(E)");menu2=newJMenu("查看(V)");menu3=newJMenu("帮助(H)");menu1.setFont(newFont("宋体",Font.PLAIN,12));menu2.setFont(newFont("
8、宋体",Font.PLAIN,12));16menu3.setFont(newFont("宋体",Font.PLAIN,12));/***编辑栏*/editItem1=newJMenuItem("复制(C)Ctrl+C");editItem2=newJMenuItem("粘贴(P)Ctrl+V");editItem1.setFont(newFont("宋体",Font.PLAIN,12));editItem2.setFont(newFont("宋体",Font.PLAIN,12))