当前位置:文档之家› 软件开发工具与环境课程设计

软件开发工具与环境课程设计

武汉理工大学课程论文实验课程名称软件工具与环境论文名称用eclipse写个小程序开课学院计算机科学与技术学院指导老师姓名张能立学生姓名何文明学生专业班级软件工程0901 2011— 2012学年第1学期目录1. 摘要 (2)2 .关键字 (2)3. 使用开发工具(Eclipse)简介 (2)4. 开发内容 (3)5. 程序设计说明 (3)6. 按钮代表意义 (3)7. 源代码 (4)8. 调试结果 (9)9. 总结体会 (10)10. 参考文献 (10)1.摘要Java语言是有美国Sun公司开发的一种完全面向对象的程序设计语言。

Java语言由C++语言发展而来,但比C++语言简单。

Java语言具有简单、与平台无关、高效、健壮、安全、多线程等特点,它是当前网络编程中的首选语言。

2.关键字:Eclipse Java 四则运算计算器3. 使用开发工具(Eclipse)简介Eclipse是著名的跨平台的自由集成开发环境(IDE),是一个开放源代码的、基于Java 的可扩展开发平台。

最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。

Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。

许多软件开发商以Eclipse为框架开发自己的IDE。

它最初的开发目标是一个高质量的开发工具平台,但在Eclipse的发展过程中,人们意识到Eclipse除了用于开发工具平台外,还适合作为更普遍应用的平台基础,开发小组据此进行了若干通用化改进,到3.0版本的时候,Eclipse正式成为了通用的富客户端平台(Rich Client Platform)。

近年来,Eclipse在嵌入式系统及设备开发、企业级开发、应用程序周期管理等领域也得到了广泛的应用。

Eclipse优点(1)灵活的插件结构通常的软件必须通过重新编译的形式才能进行更改或扩充,而Eclipse通过使用插件机制,让我们可以动态地增加系统功能而无需修改系统代码,还能复用Eclilpse平台提供的众多扩展点。

(2)开放源代码开放源代码不仅仅意味着免费,还使得Eclipse成为一个开放、自由的体系。

开放源代码鼓励创新,并激励开发人员为公共开放源码库贡献代码,为这个项目作贡献的开发人员越多,这个项目就会变得日益有用。

另外,开放源代码还使得平台开发人员的学习曲线变得更平滑,因为Eclipse平台本身就包含了若干高品质的插件实现范例,是开发人员学习和模仿的对象。

而由于Eclipse几乎是免费的,而Microsoft公司的产品有很尴尬的盗版侵权问题,越来越多的公司的开发部门由Jbuilder转向了Eclipse,对于程序员而言,更让我们欣喜的是,Eclipse 开放源代码,这意味着我们可以通过阅读顶级的Java源代码学习优雅,高效的编程。

(3)跨平台性和优良的用户体验Eclipse是基于跨平台的程序语言Java开发的,这使得开发人员基于Eclipse 开发的程序也可以方便地跨平台部署。

另外,Ecliplse通过引入SWT(Standard Widget Toolkit),使得开发出来的GUI 程序效率更高,而且具备了与本地操作系统一致的外观和操作方式,大大改善了Java程序的用户体验。

4.开发内容用学会的java知识,在Eclipse上编写一个程序,实现一个简单的计算器,能进行加、减、乘、除、开平方四则运算。

5.程序设计说明(1)使用到java图形用户界面的组件和事件的java.swing和javax.swing包。

import java.awt.*;import java.awt.event.*;import javax.swing.*;(2)构造方法Calculator()实现软件程序的界面,包括界面大小、显示位置、界面的个个组件按钮的位置、大小,以及按钮注册事件监听器。

(3)按钮的单击事件处理方法actionPerformed(ActionEvent e)处理按钮的单击事件,当单击某个按钮时,就会产生相应的事件处理。

(4)方法operate()被actionPerformed(ActionEvent e)调用,用于具体处理计算符号对应的运算。

6.按钮代表意义“sqrt”-------------------------开平方“CE”--------------------------清零“star”-------------------------开始/重新开始“1”、“2”等数字键---------代表要输入的数字值“+”、“*”等运算键---------代表四则运算的运算符号“.”------------------------------表示小数点7.源代码package Di_liu_zhang;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Calculator extends JFrame implements ActionListener{ JTextField tf; //文本框,显示输入输出JButton jb1,jb2,jb3,jb4,jb5,jb6,jb7,jb8,jb9,jb10,jb11;//计算按钮JButton jb[] =new JButton[10]; //数字按钮数组char lastOperator;double storedNumber;Boolean isDot,operated = false,equaled =false;public Calculator(){super("小风哥计算器");setSize(255,225);setLocation(500,250);setResizable(false);setLayout(new FlowLayout()); //流布局,居中tf = new JTextField(22);//文本框add(tf);tf.setHorizontalAlignment(JTextField.RIGHT);tf.setEditable(false);//界面按钮设计,并注册事件监听器jb1 = new JButton("sqrt");add(jb1);jb1.addActionListener(this);jb3= new JButton(" CE ");add(jb3);jb3.addActionListener(this);jb4 = new JButton(" C ");add(jb4);jb4.addActionListener(this);jb[7] = new JButton(" 7 ");add(jb[7]);jb[7].addActionListener(this);jb[8] = new JButton(" 8 ");add(jb[8]);jb[8].addActionListener(this);jb[9] = new JButton(" 9 ");add(jb[9]);jb[9].addActionListener(this);jb5 = new JButton(" / ");add(jb5);jb5.addActionListener(this);jb[4] = new JButton(" 4 ");add(jb[4]);jb[4].addActionListener(this);jb[5] = new JButton(" 5 ");add(jb[5]);jb[5].addActionListener(this);jb[6] = new JButton(" 6 ");add(jb[6]);jb[6].addActionListener(this);jb6= new JButton(" * ");add(jb6);jb6.addActionListener(this);jb[1] = new JButton(" 1 ");add(jb[1]);jb[1].addActionListener(this);jb[2] = new JButton(" 2 ");add(jb[2]);jb[2].addActionListener(this);jb[3] = new JButton(" 3 ");add(jb[3]);jb[3].addActionListener(this);jb7 = new JButton(" - ");add(jb7);jb7.addActionListener(this);jb[0] = new JButton(" 0 ");add(jb[0]);jb[0].addActionListener(this);jb8 = new JButton(" . ");add(jb8);jb8.addActionListener(this);jb9 = new JButton(" = ");add(jb9);jb9.addActionListener(this);jb10 = new JButton(" + ");add(jb10);jb10.addActionListener(this);setVisible(true);}public void actionPerformed(ActionEvent e) //按钮的单击事件处理方法{JButton btn=(JButton)e.getSource();//计算按钮的时事件处理if(btn==jb3){tf.setText("0");isDot=false;storedNumber=0;lastOperator='?';}else if(btn==jb9){operate('=');equaled=true;}else if(btn==jb10){operate('+');equaled=false;}else if(btn==jb7){operate('-');equaled=false;}else if(btn==jb6){operate('*');equaled=false;}else if(btn==jb5){operate('/');equaled=false;}else if(btn==jb1){operate('s');operate('=');equaled=true;}//数字按钮的处理方法else{if(equaled)storedNumber=0;for(int i=0;i<10;i++)if(btn==jb[i]){if(tf.getText().equals("0"))tf.setText(""+i);else if(!operated)tf.setText(tf.getText()+i);else{tf.setText(""+i);operated=false;}}if(btn==jb8&&!isDot){ //小数点处理方法tf.setText(tf.getText()+".");isDot=true;}}}public void operate(char operator) //计算符号的具体计算方法{double currentNumber =Double.valueOf(tf.getText()).doubleValue();if (lastOperator == '?')storedNumber = currentNumber;else if (lastOperator == '+')storedNumber += currentNumber;else if (lastOperator == '-')storedNumber -= currentNumber;else if (lastOperator == '*')storedNumber *= currentNumber;else if (lastOperator == '/')storedNumber /= currentNumber;else if (lastOperator == 's')storedNumber = Math.sqrt(currentNumber);else if (lastOperator == '=' && equaled)storedNumber = currentNumber;tf.setText("" + storedNumber);operated = true;lastOperator = operator;}public static void main(String[] args) { //主函数new Calculator();}}8.调试结果:1.开始界面2.乘法计算2356*15233.加法计算56255+46146424.减法计算45633 —126485.除法计算136543 / 25156.开方计算155455659.总结体会一个简单的四则运算的计算器程序,看起来简单,但当自己真正编写程序的时候,才发现,不是那么容易的。

相关主题