软件开发工具课程论文.docx
- 文档编号:3531254
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:11
- 大小:127.14KB
软件开发工具课程论文.docx
《软件开发工具课程论文.docx》由会员分享,可在线阅读,更多相关《软件开发工具课程论文.docx(11页珍藏版)》请在冰豆网上搜索。
软件开发工具课程论文
学号:
课程论文
题目
用Eclipse写个小程序
学院
计算机科学与技术学院
班级
姓名
指导教师
张能立
2013—2014学年第1学期
1.摘要——————————————————————1
2.关键字—————————————————————1
3.使用开发工具(Eclipse)简介——————————1
4.开发内容————————————————————2
5.程序设计说明——————————————————2
6.各个按钮的功能—————————————————2
7.源代码—————————————————————3
8.调试结果截图——————————————————7
9.总结体会————————————————————8
10.参考文献———————————————————8
1.摘要
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。
Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
2.关键字
JavaEclipse简易运算器
3.使用开发工具(Eclipse)简介
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。
Eclipse是著名的跨平台的自由集成开发环境(IDE)。
最初主要用来Java开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。
Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
十分适用于学生进行简单的程序开发。
Eclipse优点
(1)灵活的插件结构
通常的软件必须通过重新编译的形式才能进行更改或扩充,而Eclipse通过使用插件机制,让我们可以动态地增加系统功能而无需修改系统代码,还能复用Eclilpse平台提供的众多扩展点。
(2)开放源代码
开放源代码不仅仅意味着免费,还使得Eclipse成为一个开放、自由的体系。
开放源代码鼓励创新,并激励开发人员为公共开放源码库贡献代码,为这个项目作贡献的开发人员越多,这个项目就会变得日益有用。
另外,开放源代码还使得平台开发人员的学习曲线变得更平滑,因为Eclipse平台本身就包含了若干高品质的插件实现范例,是开发人员学习和模仿的对象。
而由于Eclipse几乎是免费的,而Microsoft公司的产品有很尴尬的盗版侵权问题,越来越多的公司的开发部门由Jbuilder转向了Eclipse,对于程序员而言,更让我们欣喜的是,Eclipse开放源代码,这意味着我们可以通过阅读顶级的Java源代码学习优雅,高效的编程。
(3)跨平台和优秀的用户体验
Eclipse是基于跨平台的程序语言Java开发的,这使得开发人员基于Eclipse开发的程序也可以方便地跨平台部署。
另外,Ecliplse通过引入SWT(StandardWidgetToolkit),使得开发出来的GUI程序效率更高,而且具备了与本地操作系统一致的外观和操作方式,大大改善了Java程序的用户体验。
4.开发内容
运用所学知识,使用Eclipse编写一个简易小程序,开发一个简易计算器,实现+,-,*,/,sqrt这些基本四则运算功能。
5.程序设计说明
(1)使用到java图形用户界面的组件和事件的java.swing和javax.swing包。
(2)构造方法Calculator()实现软件程序的界面,包括界面大小、显示位置、界面的个个组件按钮的位置、大小,以及按钮注册事件监听器。
(3)按钮的单击事件处理方法actionPerformed(ActionEvente)处理按钮的单击事件,当单击某个按钮时,就会产生相应的事件处理。
(4)方法operate()被actionPerformed(ActionEvente)调用,用于具体处理计算符号对应的运算。
6.各个按钮的功能
“sqrt”——————————实现开方功能
“CE”———————————实现清除功能
“C”———————————实现归零功能
“+/-”——————————正负数转换功能
“1,2。
。
。
。
”————————基本数字键
“+,-,*,/”———————四则运算符号键
“.”———————————小数点
7.源代码附录如下
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
publicclassCalculatorextendsJFrameimplementsActionListener{
privatestaticfinallongserialVersionUID=8199443193151152362L;
privateJButton
bto_s=newJButton("sqrt"),bto_zf=newJButton("+/-"),
bto_ce=newJButton("CE"),bto_c=newJButton("C"),
bto_7=newJButton("7"),bto_8=newJButton("8"),
bto_9=newJButton("9"),bto_chu=newJButton("/"),
bto_4=newJButton("4"),bto_5=newJButton("5"),
bto_6=newJButton("6"),bto_cheng=newJButton("*"),
bto_1=newJButton("1"),bto_2=newJButton("2"),
bto_3=newJButton("3"),bto_jian=newJButton("-"),
bto_0=newJButton("0"),bto_dian=newJButton("."),
bto_deng=newJButton("="),bto_jia=newJButton("+");
JButtonbutton[]=
{
bto_s,bto_zf,bto_ce,bto_c,bto_7,
bto_8,bto_9,bto_chu,bto_4,bto_5,
bto_6,bto_cheng,bto_1,bto_2,bto_3,
bto_jian,bto_0,bto_dian,bto_deng,bto_jia
};
privateJTextFieldtext_double;//=newJTextField("0");
privateStringoperator="=";//当前运算的运算符
privatebooleanfirstDigit=true;//标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字
privatedoubleresultNum=0.0;//计算的中间结果
privatebooleanoperateValidFlag=true;//判断操作是否合法
publicCalculator()
{
super("软件1101熊强");
this.setBounds(300,300,300,300);
this.setResizable(false);
this.setBackground(Color.orange);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.getContentPane().setLayout(newBorderLayout());//设置布局
text_double=newJTextField("0",20);//设置文本区
text_double.setHorizontalAlignment(JTextField.RIGHT);//设置水平对齐方式未右对齐
this.getContentPane().add(text_double,BorderLayout.NORTH);//将文本区添加到Content北部
JPanelpanel=newJPanel(newGridLayout(5,4));//在内容窗口添加一个网格布局
this.getContentPane().add(panel);//添加panel面板
for(inti=0;i panel.add(button[i]); for(inti=0;i button[i].addActionListener(this);//为按钮注册 text_double.setEditable(false);//文本框不可编辑 text_double.addActionListener(this); this.setVisible(true); } publicvoidactionPerformed(ActionEvente) { Stringc=e.getActionCommand();//返回与此动作相关的命令字符串。 if(c.equals("C")){ handleC();//用户按了“C”键 } elseif(c.equals("CE"))//用户按了"CE"键 { text_double.setText("0"); } elseif("0123456789.".indexOf(c)>=0)//用户按了数字键或者小数点键 { handleNumber(c);//handlezero(zero); }else//用户按了运算符键 { handleOperator(c); } } privatevoidhandleC()//初始化计算器的各种值 { text_double.setText("0"); firstDigit=true; operator="="; } privatevoidhandleNumber(Stringbutton){ if(firstDigit)//输入的第一个数字 { text_double.setText(button); }elseif((button.equals("."))&&(text_double.getText().indexOf(".")<0))//输入的是小数点,并且之前没有小数点,则将小数点附在结果文本框的后面 //如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这种子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回-1 { text_double.setText(text_double.getText()+"."); }elseif(! button.equals("."))//如果输入的不是小数点,则将数字附在结果文本框的后面 { text_double.setText(text_double.getText()+button); } //以后输入的肯定不是第一个数字了 firstDigit=false; } privatevoidhandleOperator(Stringbutton){ if(operator.equals("/")){ //除法运算 //如果当前结果文本框中的值等于0 if(getNumberFromText()==0.0){ //操作不合法 operateValidFlag=false; text_double.setText("除数不能为零"); }else{ resultNum/=getNumberFromText(); } }elseif(operator.equals("+")){ //加法运算 resultNum+=getNumberFromText(); }elseif(operator.equals("-")){ //减法运算 resultNum-=getNumberFromText(); }elseif(operator.equals("*")){ //乘法运算 resultNum*=getNumberFromText(); }elseif(operator.equals("sqrt")){ //平方根运算 if(getNumberFromText()<0){ operateValidFlag=false; text_double.setText("被开方数不能为负数");} else resultNum=Math.sqrt(resultNum); } elseif(operator.equals("+/-")){ //正数负数运算 resultNum=resultNum*(-1); }elseif(operator.equals("=")){ //赋值运算 resultNum=getNumberFromText(); } if(operateValidFlag){ //双精度浮点数的运算 longt1; doublet2; t1=(long)resultNum; t2=resultNum-t1; if(t2==0){ text_double.setText(String.valueOf(t1)); }else{ text_double.setText(String.valueOf(resultNum)); } } operator=button;//运算符等于用户按的按钮 firstDigit=true; operateValidFlag=true; } privatedoublegetNumberFromText()//从结果的文本框获取数字 { doubleresult=0; try{ result=Double.valueOf(text_double.getText()).doubleValue();//ValueOf()返回表示指定的double值的Double实例 }catch(NumberFormatExceptione){ } returnresult; } publicstaticvoidmain(finalString[]args){ newCalculator(); } } 8.调试结果截图 (1)加法运算: 956+358 (2)减法运算: 1628-703 (3)乘法运算: 556*637(4)除法运算: 372/48 9.总结体会 任何工作都没有懈怠的理由,看似简单的运算器程序,编译起来确是另一番滋味,需要注意界面的设计,按钮的构造,算法的编程,精度的把握,每一个方面都需要仔细认真的去思考,去实践。 失败挫折是难免的,这时需要的就是永不放弃的精神,个人力量有限,但群体的力量强大,所以难免需要请教他人,查阅资料,在此基础上再加上勤加思考,勇于实践,最后终于成功完成计算器程序。 这个过程,对于我来说获益匪浅。 参考文献 [1]李文新、郭炜、余华山.程序设计导引及实践[M].北京: 清华大学出版社 [2]史斌星、史佳.新编Java实用教程[M].北京: 清华大学出版社 [3]辛运帏饶一梅张钧.Java程序设计[M].北京: 清华大学出版社 [4]李大卓刘海.Eclipse核心编程[M].北京: 清华大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 工具 课程 论文