计算器设计的java课程设计报告

更新时间:2024-03-04 12:51:01 阅读量: 综合文库 文档下载

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

华东交通大学课程设计

华东交通大学课程设计

课程设计题目:计算器设计

课 程:题 目:年 级:专 业:学 号:姓 名:组 员:指导教师:

Java 程序设计

计算器设计 2010 级 信息一班

1

华东交通大学课程设计

课程设计(论文)任务书

基础 学 院 信息与计算科学 专 业 2010—1 班

一、课程设计(论文)题目 计算器的设计

二、课程设计(论文)工作自 2013 年 6 月23日起至 2013 年6月 27日止。 三、课程设计(论文) 地点: 计算机中心 四、课程设计(论文)内容要求: 1.本课程设计的目的

(1)使学生掌握系统各功能模块的基本工作原理; (2)掌握Java的基本编程原理和基本的编程方法; (3)使学生学会系统调试;

(4)培养学生分析、解决问题的能力;

(5)提高学生的软件文档写作能力和团队合作精神。 2.课程设计的任务及要求 1)基本要求:

(1)分析系统各功能模块的工作原理; (2)提出系统的设计方案; (3)对所进行编程、调试、修改。 2)创新要求:

在基本要求达到后,可进行创新设计,如:用虚函数,文件流,重载流插入运算符等。 3)课程设计论文编写要求

(1)要按照书稿的规格打印誊写设计论文; (2)论文包括目录、摘要、正文、总结等; (3)毕业论文装订按学校的统一要求完成。 4)答辩与评分标准:

(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分; (2)能正确回答老师所提问题,可增加10分; (3)课程设计报告书写规范整齐,可增加10分; (4)心得体会认真总结,可增加10分; (5)程序有创新性,可增加10分;

成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。

5)参考文献:

(1)丁振凡.《J ava语言程序设计》 清华大学出版社

(2)丁振凡.《J ava语言程序设计实验指导与习题解析》清华大学出版社 (3)http:/ /mvcpro.cloudfoundry.com

2

华东交通大学课程设计

6)课程设计进度安排

内容 天数 地点

总体需求与分析构思及收集资料 1 图书馆 各模块的编程实现,调试与修改 3 机房 撰写论文与答辩 1 图书馆,机房

学生签名:

2013 年6 月18 日

课程设计(论文)评审意见

(1)态度评价(20分):优( )、良( )、中( )、一般( )、差( ); (2)任务难度(20分):优( )、良( )、中( )、一般( )、差( ); (3)设计分析(20分):优( )、良( )、中( )、一般( )、差( ); (4)创新性评价(20分):优( )、良( )、中( )、一般( )、差( ); (5)回答问题(20分):优( )、良( )、中( )、一般( )、差( ); (6)论文格式规范性及考勤是否降等级:是( )、否( )

评阅人签名: 职称: 教授

2013 年6 月25日

3

华东交通大学课程设计

目 录

第1章 系统概要 ................................................................................................................................................ - 1 -

1.1系统介绍 ................................................................................................................................................ - 1 - 1.2 基本功能要求 ....................................................................................................................................... - 1 - 第2章 设计思路与算法 .................................................................................................................................... - 2 -

2.1 应用的基本工作流程 ........................................................................................................................... - 2 - 2.2 类设计 ................................................................................................................................................... - 2 - 2.3 应用界面的设计 ................................................................................................................................... - 3 - 2.4 事件处理原理、具体设计 ................................................................................................................... - 3 - 2.5 算法考虑 ............................................................................................................................................... - 4 - 第3章 源程序代码 ............................................................................................................................................ - 5 - 第4章 运行结果及分析 .................................................................................................................................. - 15 - 第5章 心得体会 .............................................................................................................................................. - 17 -

5.1系统需要完善的地方 .......................................................................................................................... - 17 - 5.2课程设计感想 ...................................................................................................................................... - 17 - 参考文献 ............................................................................................................................................................ - 17 -

4

华东交通大学课程设计

第1章 系统概要

1.1系统介绍

编写一个简易计算器,实现Windows计算器的主要功能。

本次课程设计就是利用java语言来编写简单计算器的应用程序,模拟Windows计算器的功能,能进行加、减、乘、除四则算术运算和求倒数、求平方根等简单函数运算,且有小数点、清零和存储等功能。 1.2基本功能要求

通过计算器的设计,掌握Java编程的基本知识点。

(1)掌握基于AWT的图形用户界面的设计,如常用的的布局设计,容器中面板、按钮、文本框等组件的添加和布局。

(2)掌握图形界面的事件处理方法,注册动作事件监听者。

(3)掌握各类功能的实现思路,及程序表达。熟悉实例变量、类变量与局部变量的差异。

(4)掌握方法的封装与调用。尽量将重复用到的一段功能设计为方法。 (5)掌握if和switch等语句的使用。

(6)掌握如何给按钮设置颜色及给页面背景设计颜色。

(7)掌握java中“对象”和“类”的知识,类的设计及成员的控制访问

- 1 -

华东交通大学课程设计

bSqrt.addActionListener(this); bMulti.addActionListener(this); bMinus.addActionListener(this); bPercent.addActionListener(this); bPlus.addActionListener(this);

bReciprocal.addActionListener(this); bEqual.addActionListener(this); bDot.addActionListener(this);

bNegative.addActionListener(this);

p2.add(b7); //将按钮依次添加到面板 p2.add(b8); p2.add(b9); p2.add(bDiv); p2.add(bSqrt); p2.add(b4); p2.add(b5); p2.add(b6); p2.add(bMulti); p2.add(bPercent); p2.add(b1); p2.add(b2); p2.add(b3);

p2.add(bMinus); p2.add(bReciprocal); p2.add(b0);

p2.add(bNegative); p2.add(bDot); p2.add(bPlus); p2.add(bEqual);

bBackspace=new Button(\ bCE=new Button(\ bC=new Button(\

bBackspace.addActionListener(this); bCE.addActionListener(this); bC.addActionListener(this);

p1.add(bBackspace); p1.add(bCE); p1.add(bC);

tf2=new TextField(2);

- 7 -

华东交通大学课程设计

tf2.setEnabled(false);

tf2.setBackground(Color.LIGHT_GRAY); bMC=new Button(\ bMR=new Button(\ bMS=new Button(\ bM=new Button(\

bMC.addActionListener(this); bMR.addActionListener(this); bMS.addActionListener(this); bM.addActionListener(this);

p6.add(tf2); p3.add(p6); p3.add(bMC); p3.add(bMR); p3.add(bMS); p3.add(bM);

f.setVisible(true);

f.addWindowListener(this); }

public void actionPerformed(ActionEvent e) {

//key 0 to 9

if(this.keyAvailable&&e.getActionCommand().length()==1&&e.getActionCommand().compareTo(\

{

if(this.isTempNowInput) {

this.dNowInput=0;

this.isTempNowInput=false; }

this.nBitsNum++;

if(this.alreadyHaveDot==false)

this.dNowInput=this.dNowInput*10+Double.parseDouble(e.getActionCommand()); else {

double temp=Double.parseDouble(e.getActionCommand()); for(int i=this.n;i<0;i++) {

temp*=0.1;

- 8 -

华东交通大学课程设计

}

this.dNowInput+=temp; this.n--; }

this.tf1.setText(Double.toString(this.dNowInput)); }

// key dot

if(this.keyAvailable && e.getActionCommand()==\ {

if(this.alreadyHaveDot==false) {

this.nBitsNum++;

this.alreadyHaveDot=true; this.n=-1; } }

//key \

if(this.keyAvailable && e.getActionCommand()==\|| e.getActionCommand()==\|| e.getActionCommand()==\

{

if(this.alreadyClickedEqueal) {

this.dNowInput=this.dResult; this.isTempNowInput=true; } else {

switch(this.nOperation) {

case 1: this.dResult+=this.dNowInput; break; case 2: this.dResult-=this.dNowInput; break; case 3: this.dResult*=this.dNowInput; break; case 4: {

if(this.dNowInput==0) {

tf1.setText(\除数不能为零\ this.keyAvailable=false; }

else this.dResult=this.dResult/this.dNowInput; } }

if(this.keyAvailable)tf1.setText(Double.toString(this.dResult)); this.dNowInput=0;

- 9 -

华东交通大学课程设计

}

if(e.getActionCommand()==\ {

this.nOperation=1; }

if(e.getActionCommand()==\ {

this.nOperation=2; }

if(e.getActionCommand()==\ {

this.nOperation=3; }

if(e.getActionCommand()==\ {

this.nOperation=4; }

this.nBitsNum=0;

this.alreadyClickedEqueal=false; }

// key \

if(this.keyAvailable && e.getActionCommand()==\ {

this.dNowInput=0-this.dNowInput;

tf1.setText(Double.toString(this.dNowInput)); }

// key \

if(e.getActionCommand()==\ {

this.nBitsNum=0; this.dResult=0; this.dNowInput=0;

this.alreadyHaveDot=false; this.n=0;

this.nOperation=1; this.keyAvailable=true;

this.alreadyClickedEqueal=false; tf1.setText(\ }

// key \

if(e.getActionCommand()==\ {

this.nBitsNum=0; this.dNowInput=0;

- 10 -

华东交通大学课程设计

this.alreadyHaveDot=false; this.n=0;

this.nOperation=1; this.keyAvailable=true; tf1.setText(\ }

// key \

if(this.keyAvailable && e.getActionCommand()==\ {

if(this.alreadyClickedEqueal) {

if(this.dResult>=0) {

this.dResult=Math.sqrt(this.dResult);

tf1.setText(Double.toString(this.dResult)); } else {

tf1.setText(\函数输入无效\ this.keyAvailable=false; } } else {

if(this.dNowInput>=0) {

this.dNowInput=Math.sqrt(this.dNowInput); tf1.setText(Double.toString(this.dNowInput)); } else {

tf1.setText(\函数输入无效\ this.keyAvailable=false; } } }

// key \

if(this.keyAvailable && e.getActionCommand()==\ {

if(this.dNowInput==0) {

tf1.setText(\除数不能为零\ this.keyAvailable=false; }

- 11 -

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

Top