java课程设计简易计算器.doc_第1页
java课程设计简易计算器.doc_第2页
java课程设计简易计算器.doc_第3页
java课程设计简易计算器.doc_第4页
java课程设计简易计算器.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息科学与工程学院课 程 设 计 任 务 书 题 目: 简单计算器的设计 课程设计任务书及成绩评定课程设计的任务和具体要求1.课程设计任务:设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算。通过对计算器的编辑来检测和提升自己的java编程能力,并最终完成课程设计报告! 2.课程设计要求:(1)应用自己所学课程知识完成对计算器的基本任务。(2)查阅相关资料,学习和掌握项目中涉及的新知识,提高自学能力。(3)通过应用java程序编写计算器来提升自己对简单的图形界面有一定的掌握和了解。 指导教师签字: 日期: 指导教师评语: 成绩: 指导教师签字: 日期: 课程设计所需软件、硬件等软件:eclipse硬件:计算机课 程 设 计 进 度 计 划起止日期 工作内容 备注11-15至11-251.对简易计算器进行设计思路分析,11-26至12-52.根据分析进行详细设计,12-06至12-203.编译程序,进行调试,12-21至12-244.分析讨论参考文献、资料索引(序号、文献名称、编著者、出版单位)1 丁振凡. Java语言实用教程(第2版)M. 北京邮电大学出版社. 2008.1 2 丁振凡. Java语言实用教程实验指导(第2版)M. 北京邮电大学出版社. 2008.13 杨树林等. Java语言最新实用案例教程(第2版)M. 清华大学出版社. 2010.7目录一、 选题的目的意义5二、 总体设计方案以及主要设计原理5三、 实现技术及源程序代码6四、 测试及分析14五、 结束语(心得体会、改进方向)15一、选题的目的意义1、进一步掌握和理解java程序编程;2、进一步掌握java语言的基本数据类型,熟悉定义变量和使用变量;3、理解java图形用户界面的基本工作原理和界面设计;4、巩固窗体的布局设计;5、掌握窗体按钮控件和文本控件对事件的响应;6、理解函数和方法的使用。二、总体设计方案以及主要设计原理1、需求分析设计的计算器可以完成加法、减法、乘法、除法的简单运算及简单的函数运算2、设计思路(1)界面设计(2)设计思路根据所设计出来的界面,首先要设计其GUI界面,总体界面有一个文本框,24个按钮.总体界面用BorderLayout布局,文本框放置在最NORTH,然后0到9以及+,-,*,/,.,-,sqrt,sin,cos,in,CE,=等按钮放置到一个面板Panel中,完成界面设计。三、实现技术及源程序代码import java.awt.*; import java.awt.event.*;public class Cal public static void main(String args) CalFrame f = new CalFrame(); class CalFrame extends Frame double d1, d2; int op = -1; TextField tf; CalPanelL p1; CalPanelR p2; / Constructor CalFrame() super(Small Calculator);setLayout(new FlowLayout(FlowLayout.CENTER,8,10); setBackground(new Color(100,150,150); setForeground(Color.white); setResizable(false);setSize(300,200); tf = new TextField(22); tf.setEditable(false); tf.setBackground(new Color(108,118,103); tf.setForeground(Color.white); tf.setFont(new Font(Arial,Font.BOLD,16); add(tf); p1 = new CalPanelL(); p2 = new CalPanelR(); add(p1); add(p2); setVisible(true); addWindowListener(new Wclose(); / inner class:CalButton class CalButton extends Button CalButton(String s) super(s); setBackground(Color.gray); / inner class: CalPanelL class CalPanelL extends Panel CalButton b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, bPN, bPoint; CalPanelL() setLayout(new GridLayout(4,3); setFont(new Font(TimesRoman,Font.BOLD,16); b0 = new CalButton(0); b1 = new CalButton(1); b2 = new CalButton(2); b3 = new CalButton(3); b4 = new CalButton(4); b5 = new CalButton(5); b6 = new CalButton(6); b7 = new CalButton(7); b8 = new CalButton(8); b9 = new CalButton(9); bPN = new CalButton(+/-); bPoint = new CalButton(.); / 加入按钮 add(b7); b7.addActionListener(new PressB7(); add(b8); b8.addActionListener(new PressB8(); add(b9); b9.addActionListener(new PressB9(); add(b4); b4.addActionListener(new PressB4(); add(b5); b5.addActionListener(new PressB5(); add(b6); b6.addActionListener(new PressB6(); add(b1); b1.addActionListener(new PressB1(); add(b2); b2.addActionListener(new PressB2(); add(b3); b3.addActionListener(new PressB3(); add(b0); b0.addActionListener(new PressB0(); add(bPN); bPN.addActionListener(new PressBPN(); ; add(bPoint); bPoint.addActionListener(new PressBPoint(); class CalPanelR extends Panel CalButton bAdd, bSub, bMul, bDiv, bSqrt, bSin, bCos, bYx, bLn, bEqual, bCE, bBack; CalPanelR() setLayout(new GridLayout(4,3); setFont(new Font(TimesRoman,Font.BOLD,16); bAdd = new CalButton(+); bSub = new CalButton(-); bMul = new CalButton(*); bDiv = new CalButton(/); bSqrt = new CalButton(sqrt); bSin = new CalButton(sin); bCos = new CalButton(cos); bYx = new CalButton(yx); bLn = new CalButton(ln); bEqual = new CalButton(=); bCE = new CalButton(CE); bBack = new CalButton(= 0 & text.charAt(0) = 9) tf.setText(-+text.substring(0); else if(text.charAt(0) = .) tf.setText(-0+text.substring(0); catch(Exception ee) class PressBPoint implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); if(text.lastIndexOf(.) = -1) tf.setText(text+.); class PressB0 implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); tf.setText(text+0); class PressB1 implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); tf.setText(text+1); class PressB2 implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); tf.setText(text+2); class PressB3 implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); tf.setText(text+3); class PressB4 implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); tf.setText(text+4); class PressB5 implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); tf.setText(text+5); class PressB6 implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); tf.setText(text+6); class PressB7 implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); tf.setText(text+7); class PressB8 implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); tf.setText(text+8); class PressB9 implements ActionListener public void actionPerformed(ActionEvent e) String text = tf.getText(); tf.setText(text+9); / class: Wclose class Wclose extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(0); 四、测试及分析1、简单的运算(1)78+43=121.0(2)10+20*30=610.02、总体分析本计算器为计算量中等,对函数要求不太高的人群适用。适合于简单计算数据,不适合科研工作。五、结束语(心得体会、改进方向)这次的程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论