java科学计算器设计论文.docx
《java科学计算器设计论文.docx》由会员分享,可在线阅读,更多相关《java科学计算器设计论文.docx(13页珍藏版)》请在冰豆网上搜索。
![java科学计算器设计论文.docx](https://file1.bdocx.com/fileroot1/2023-1/26/c0f6c11e-73d0-4e47-ac8b-9d3484c7808c/c0f6c11e-73d0-4e47-ac8b-9d3484c7808c1.gif)
java科学计算器设计论文
Java程序设计实习
课程设计
题目模拟科学计算器
学生姓名
学号20112308005
院系
专业年级
指导教师方忠进
二O一三年6月28日
葛金山
南京信息工程大学计算机科学与技术专业,南京210044
摘要:
随着社会文明的发展,人们对房屋的需求越来越大,随之房屋的建造也成倍增加。
面对庞大的需求量,需要建立一个房地产信息管理系统来提高对房地产管理的效率。
建立房地产信息管理系统就是为了实现信息的规范管理和快速查询,从而减少管理方面的工作量。
本文介绍了以Delphi语言和SQLserver2000数据库为工具的房地产信息管理系统的开发与设计。
本房地产信息管理系统主要实现了四个基本功能:
房地产基本信息管理、房屋销售、统计报表、系统设置。
其中,前三个模块主要进行相关信息的增加、删除、修改、查询等操作;系统管理模块实现根据不同的用户权限进行不同的操作。
关键字:
数据库,管理软件,房屋中介管理,查询
目录
引言2
一、课程设计目的2
二、需求分析3
三、课程设计内容3
四、总体设计3
4.1系统功能图3
4.2程序流程图4
4.3算法思路4
4.4算法实现5
4.5功能规划5
4.6总结不足5
五、具体实现6
5.1主界面6
5.2界面说明6
5.3算法实现7
六、运算演示10
七、结束语12
八、致谢13
九、参考资料13
一、引言
随着住房制度改革不断深化和居民收入水平的提高,住房成为新的消费热点。
2003年以来,房屋价格持续上扬,大部分城市房屋销售价格上涨明显。
随之而来国家出台了多项针对房地产行业的调控政策,希望能引导房地产市场的健康发展。
而房屋中介行业是房地产业的重要组成部分,房屋中介贯穿在房地产业经济运行的全过程之中,为房地产业的生产、流通和消费提供了多元化的中介服务。
房屋中介行业做为一个管理房屋信息的机构,其对信息的管理应该准确,无误。
因此利用所学过的软件工程设计思想,数据库等知识设计一个房屋中介管理的软件对于提高该中介公司的工作效率变得尤为重要。
二、需求分析
房产中介管理系统实现的功能包括管理员的登陆功能、管理员身份确认功能、新增房产信息功能、修改房产信息功能、主界面显示功能(其中包括查询功能和删除功能),管理员身份通过认证后可以进入主界面,然后在主界面下进行一系列的插入、删除、修改、查询功能。
该程序是一个图形界面的简单的java计算器,使用人员能快捷简单地进行操作.即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助.可以进行简单的四则运算(加,减,乘,除,以及求倒数,求相反数),有退格功能,归零表示初始化,界面颜色为灰白,该程序支持键盘操作。
随着科学技术的不断发展,计算机已经成为我们工作学习和生活中不可缺少的工具.文本编辑器是个人计算机最司空见惯的应用程序了,在学习了Java语言之后,我决定使用Java语言编写一个简单的计算器,可以实现简单的运算功能,满足日常基本的工作学习和娱乐需要.
Java是由Sun公司开发的新一代纯面向对象的网络编程语言.其目标是建立一种在任意种机器,任一种操作系统的网络环境中运行的软件,实行所谓的"程序写一次,到处运行"的目标.正因为如此,Java已成为当今Internet上最流行,最受欢迎的一种程序开发语言.
Java开发小组把Java按特性分为基本版,移动版,企业版,每个版本有一个软件开发包.Java基本版本叫Java2标准版(Java2StandardEdition,J2SE),它包含建立Java应用程序或者是Applet所需的应用程序编程接口(API).Java2移动版(TheJava2MobileEdition,J2ME)包含创建无线Java应用程序的API.还有Java2企业版(TheJava2Enterprise,J2EE)是J2SE的增强版本,包含建立多层架构应用程序API。
三、课程设计内容
实现计算器功能的应用程序根据计算器的实际功能,用户可以通过鼠标依次输入参加计算的数值,进行加、减、乘、除等混合运算,界面美观。
四、总体设计
4.1系统功能图
乘法运算
开方运算
加法运算
求倒运算
计算器
减法运算
百分比运算
除法运算
4.2程序流程图
开始
主界面
运算数据
运算数据
运算数据
继续
结果输出
4.3算法思路
主要思路是通过将数据字键合其他符号区别开来进行监听,可以a变量储存运算前的数据,s存储运算符,shu存储运算符后的数据。
当按住运算符按钮时便将之前输入的数字存储在变量a中,并将运算符存储在s中,当按住等号按钮时,便将便将后输入的数字存储到shu中并根据所输入的运算符进行相关的运算。
4.4算法实现
计算器的程序设计,必然有数据输入,其中数据包括运算符和数字,均要通过计算器上的button按钮选项按钮输入进去,里面录入的必然是字符型的数据,如果进行运算要将输入的数据转化成Double型,以防出错。
4.5功能规划
本程序中只有一个主类Chat。
在此类中添加了JPanel框架在此框架中使用了setbounds方法布局整个界面。
在菜单栏中设置了“编辑”和“帮助”菜单项,在“编辑”中可以实现“粘贴”“复制”“退出”功能,在“帮助”中实现“关于计算器”“帮助主题”点击相关按钮可以实现相关其他功能。
4.6总结不足
首先没有实现Mc、Mr、Ms、M+四个功能,其次只是实现了标准计算器的运算,没有实现科学计算器的功能,因此还有待进一步完善,这样才能够完成自己的第一个应用软件设计。
五、具体实现
5.1主界面
5.2界面说明
计算器的界面有一个菜单栏两个文本框和22个按钮组成。
在菜单项里有“编辑”和“帮助”两个菜单,在“编辑”菜单中实现了对t1文本内容的复制和粘贴,同时也加入了实现了退出程序的子菜单,在“帮助”菜单中,点击“帮助主题”便会打开C:
\WINDOWS\Help下的calc.chm帮助文件,点击“关于计算器”便会打开下列对话框
在按钮组里面有22个按钮其中Bacspace表示“退格”,C表示“清除”,sqrt表示开方“+/-”表示正负数的转换。
5.3算法实现
开始
if(f){
t1.setText("0");
f=false;
}
单击数值按钮0
if(e.getSource()==butt0){
Stringa=t1.getText();
if(a.equals("0")){
t1.setText("0");
}else{
t1.setText(a+"0");
}
}
单击1到9与之相同
单击+
if(e.getSource()==buttjia){
f=true;
Stringa=t1.getText();
if(this.s.equals("")&&this.shu==0.0){
shu(a);
yunsuan("+");
}else{
Doubleb=Double.valueOf(a).doubleValue();
Doublez=0.0;
if(this.s.endsWith("+")){
z=this.shu+b;
}elseif(this.s.endsWith("-")){
z=this.shu-b;
}elseif(this.s.endsWith("*")){
z=this.shu*b;
}elseif(this.s.endsWith("/")){
z=this.shu/b;
}
shu(String.valueOf(z));
yunsuan("+");
t1.setText(String.valueOf(z));
}
}
单击减、乘、除与上面相同
单击点号
if(e.getSource()==buttdian){
clickable=true;
for(inti=0;iif('.'==t1.getText().charAt(i))
{
clickable=false;
break;
}//第一层判断是否里面含有小数点;
if(clickable==true)//第二层判断
t1.setText(t1.getText()+".");
}
单击+/-键
if(e.getSource()==buttfu){
Stringa=t1.getText();
Stringb=a.substring(0,1);
if(b.equals("-")){
Stringz=a.substring
(1);
t1.setText(z);
}else{
t1.setText("-"+a);
}
}
单击1/x键
if(e.getSource()==buttdao){
Stringa=t1.getText();
//字符型转换为浮点型
Doubles=1/Double.valueOf(a).doubleValue();
Stringb=String.valueOf(s);
t1.setText(b);
}
单击sqrt键
if(e.getSource()==buttsqrt){
f=true;
Stringa=t1.getText();
//floats=Integer.parseInt(a);
//字符型抓换为浮点型
Doubles=Double.valueOf(a).doubleValue();
if(s>0){
doublez=Math.sqrt(s);
Stringb=String.valueOf(z);
t1.setText(b);
}
}
单击%键
if(e.getSource()==buttbai){
Stringa=t1.getText();
Doubles=Double.valueOf(a).doubleValue()/100;
//if(this.shu!
=0.0)
//this.shu=this.shu/100;
Stringt=String.valueOf(s);
t1.setText(t);
//System.out.println(shu);
}
单击C
if(e.getSource()==buttc){
t1.setText("0");
this.s="";
this.shu=0.0;
}
退格
if(e.getSource()==buttb)
{
Strings=t1.getText();
t1.setText("");
for(inti=0;i{
chara=s.charAt(i);
t1.setText(t1.getText()+a);
}
}
六、运算演示
下面演示一下程序的部分功能:
2平方根的结果
3的倒数
98.5-487.92的结果
9.25*2的结果
七、结束语
到此本次课程报告快接近尾声了,通过本次课程设计我学到了好多,也发现了自己的好多不足!
很显然最明显的收获是理解和较熟练的掌握了JavaApplet图形界面的基本方法,尤其在JavaApplet图形界面的布局方面学到颇多,以前布局很乱并且很多布局都是无效的.在此次课设中通过查阅很多资料和同学的互相帮助,充分发挥了JavaApplet界面布局的优越性.另外按钮功能的实现也是本次课设的一大难点,怎样实现那些功能是关键.通过这次课设我又学会了好函数。
另外我这次课设部分程序是通过外部资料得到的,这使得我认识到查阅资料和开外多看书籍的重要性.但不主张照搬,因为那不是我们自己成果,那是不光彩的!
!
总之通过此次课设我学到了好多,也掌握了好多关于JavaApplet的事件管理和按钮功能实现方法,这次课程设计给我的感受就是:
只要你有心,不怕你完成不了课程设计!
!
!
!
!
八、致谢
首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。
在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。
其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计商的难题。
同时也感谢学院为我提供良好的做毕业设计的环境。
九、参考资料
参考文献:
[1]叶核亚《java程序设计实用教程》(第三版)电子工业出版社
[2]陈国君等《java程序设计基础》(第二版)清华大学出版社