软件开发工具课程论文

更新时间:2024-06-29 17:27:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学 号:

课 程 论 文

题 目 用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是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

2.关键字

Java Eclipse 简易运算器 3.使用开发工具(Eclipse)简介

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。十分适用于学生进行简单的程序开发。 Eclipse优点 (1)灵活的插件结构

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

开放源代码不仅仅意味着免费,还使得Eclipse成为一个开放、自由的体系。 开放源代码鼓励创新,并激励开发人员为公共开放源码库贡献代码,为这个项目作贡献的开发人员越多,这个项目就会变得日益有用。另外,开放源代码还使得平台开发人员的学习曲线变得更平滑,因为Eclipse平台本身就包含了若干高品质的插件实现范例,是开发人员学习和模仿的对象。而由于Eclipse几乎是免费

1

武汉理工大学《软件开发工具》课程论文

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

(3)跨平台和优秀的用户体验

Eclipse是基于跨平台的程序语言Java开发的,这使得开发人员基于Eclipse开发的程序也可以方便地跨平台部署。

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

4.开发内容

运用所学知识,使用Eclipse编写一个简易小程序,开发一个简易计算器,实现+,-,*,/,sqrt这些基本四则运算功能。

5.程序设计说明

(1)使用到java图形用户界面的组件和事件的java.swing和javax.swing包。 (2)构造方法Calculator()实现软件程序的界面,包括界面大小、显示位置、界面的个个组件按钮的位置、大小,以及按钮注册事件监听器。

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

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

6.各个按钮的功能

“sqrt”——————————实现开方功能 “CE”———————————实现清除功能 “C” ———————————实现归零功能 “+/-” ——————————正负数转换功能 “1,2。。。。”————————基本数字键 “+,-,*,/ ”———————四则运算符号键 “.” ———————————小数点

2

武汉理工大学《软件开发工具》课程论文

7.源代码附录如下

import javax.swing.*; import java.awt.*;

import java.awt.event.*;

public class Calculator extends JFrame implements ActionListener{ private static final long serialVersionUID = 8199443193151152362L; private JButton

bto_s=new JButton(\bto_ce=new JButton(\bto_7=new JButton(\bto_9=new JButton(\bto_4=new JButton(\

bto_6=new JButton(\bto_1=new JButton(\bto_3=new JButton(\bto_0=new JButton(\bto_deng=new JButton(\JButton button[]= {

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 };

private JTextField text_double;// = new JTextField(\private String operator = \当前运算的运算符

private boolean firstDigit = true; // 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字

private double resultNum = 0.0; // 计算的中间结果

private boolean operateValidFlag = true; //判断操作是否合法 public Calculator() {

super(\软件1101 熊强\

this.setBounds(300, 300, 300, 300); this.setResizable(false);

this.setBackground(Color.orange);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.getContentPane().setLayout(new BorderLayout());//设置布局

3

武汉理工大学《软件开发工具》课程论文

text_double=new JTextField(\设置文本区

text_double.setHorizontalAlignment(JTextField.RIGHT);//设置水平对齐方式未右对齐

this.getContentPane().add(text_double,BorderLayout.NORTH);//将文本区添加到Content北部

JPanel panel=new JPanel(new GridLayout(5,4));//在内容窗口添加一个网格布局

this.getContentPane().add(panel);//添加panel面板 for(int i=0;i

for(int i=0;i

button[i].addActionListener(this);//为按钮注册 text_double.setEditable(false);//文本框不可编辑 text_double.addActionListener(this);

this.setVisible(true); }

public void actionPerformed(ActionEvent e) {

String c= e.getActionCommand();//返回与此动作相关的命令字符串。 if(c.equals(\

handleC(); //用户按了“C”键 }

else if (c.equals(\ // 用户按了\键 {

text_double.setText(\ }

else if (\用户按了数字键或者小数点键 {

handleNumber(c); // handlezero(zero); } else //用户按了运算符键

{

handleOperator(c); } }

private void handleC() // 初始化计算器的各种值 {

text_double.setText(\ firstDigit = true;

4

武汉理工大学《软件开发工具》课程论文

operator = \

}

private void handleNumber(String button) { if (firstDigit)//输入的第一个数字 {

text_double.setText(button);

} else if ((button.equals(\输入的是小数点,并且之前没有小数点,则将小数点附在结果文本框的后面

//如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这种子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回 -1 {

text_double.setText(text_double.getText() + \

} else if (!button.equals(\ 如果输入的不是小数点,则将数字附在结果文本框的后面

{

text_double.setText(text_double.getText() + button); }

// 以后输入的肯定不是第一个数字了 firstDigit = false; }

private void handleOperator(String button) { if (operator.equals(\// 除法运算

// 如果当前结果文本框中的值等于0 if (getNumberFromText() == 0.0){ // 操作不合法

operateValidFlag = false;

text_double.setText(\除数不能为零\ } else {

resultNum /= getNumberFromText(); }

} else if (operator.equals(\// 加法运算

resultNum += getNumberFromText(); } else if (operator.equals(\// 减法运算

resultNum -= getNumberFromText(); } else if (operator.equals(\

5

武汉理工大学《软件开发工具》课程论文

// 乘法运算

resultNum *= getNumberFromText(); } else if (operator.equals(\// 平方根运算

if(getNumberFromText()<0){ operateValidFlag = false;

text_double.setText(\被开方数不能为负数\ else

resultNum = Math.sqrt(resultNum); }

else if (operator.equals(\// 正数负数运算

resultNum = resultNum * (-1); } else if (operator.equals(\// 赋值运算

resultNum = getNumberFromText(); }

if (operateValidFlag) { // 双精度浮点数的运算 long t1;

double t2;

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; }

private double getNumberFromText() //从结果的文本框获取数字 {

double result = 0; try {

result = Double.valueOf(text_double.getText()).doubleValue(); // ValueOf()

6

武汉理工大学《软件开发工具》课程论文

返回表示指定的 double 值的 Double 实例 } catch (NumberFormatException e){ }

return result; }

public static void main(final String[] args) { new Calculator(); } }

8.调试结果截图

(1)加法运算:956+358

(3)乘法运算:556*637

2)减法运算:1628-703

4)除法运算:372/48

7((

武汉理工大学《软件开发工具》课程论文

9.总结体会

任何工作都没有懈怠的理由,看似简单的运算器程序,编译起来确是另一番滋味,需要注意界面的设计,按钮的构造,算法的编程,精度的把握,每一个方面都需要仔细认真的去思考,去实践。失败挫折是难免的,这时需要的就是永不放弃的精神,个人力量有限,但群体的力量强大,所以难免需要请教他人,查阅资料,在此基础上再加上勤加思考,勇于实践,最后终于成功完成计算器程序。这个过程,对于我来说获益匪浅。

参考文献

[1] 李文新、郭炜、余华山. 程序设计导引及实践[M]. 北京:清华大学出版社 [2] 史斌星、史佳. 新编Java实用教程[M]. 北京:清华大学出版社 [3] 辛运帏 饶一梅 张钧. Java程序设计[M]. 北京:清华大学出版社 [4] 李大卓 刘海. Eclipse核心编程[M]. 北京:清华大学出版社

8

本文来源:https://www.bwwdw.com/article/n263.html

Top