java课程设计报告(完整版).doc

目 录 1、 摘要 2、 概要设计 3、 详细设计 4、 测试分析 5、 总结 6、 参考文献 【前言】 Java不依赖平台的特点使得它受到广泛的关注,Java已成为网络时代最重要的语言之一。Java语言不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。目前,很多新的技术领域都涉及Java语言,国内外许多大学已将Java语言列入了本科教学计划,掌握Java已经成为共识。

本次课程设计就是利用java语言来编写简单的计算器,能进行加、减、乘、除四则运算,下面给出了该设计的理论分析和具体步骤。

一、 摘要 本计算器可以进行简单的四则运算(加、减、乘、除),但仅限于十进制下。“Backspace”按钮表示退格,“CE”按钮表示清除当前文本框内的数据,“C”按钮表示清除文本框内数据,同时var、answer清零。该程序可在JCreator环境下直接运行。

二、概要设计 1、自定义说明 (1)类名Calculator 作用主类 继承的父类JFrame类 实现的接口ActionListener类 public class Calculator extends JFrame implements ActionListener { private static String[] btnTexts {“0“,“1“,“2“,“3“,“4“,“5“,“6“,“7“,“8“,“9“,““,“-“,“*“,“/“,“.“,“/-“}; //定义数组bstTexts来存放计算器上的各个按钮 Button button[] new Button[16]; Button BkButton,CeButton,CButton,EqButton; boolean clickable; //控制当前能否按键 double vard, answerd; //用来保存double型数据的中间值vard和最后结果answerd short key -1, prekey -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算 Decimalat df; //设置数据输出精度 private JTextField displayField new JTextField“ “; //计算结果显示区 public Calculator { } public void actionPeredActionEvent event { } } 2方法名Calculator 作用设置窗体布局 public Calculator { //Frame frame new Frame“Calculator“; super“Calculator“; //显示主窗口标题“Calculator” df new Decimalat“0.00000000“; //设置数据输出精度对于double型值 BkButton new Button“Backspace“; BkButton.setForegroundColor.red; CeButton new Button“CE“; CeButton.setForegroundColor.red; CButton new Button“C“; CButton.setForegroundColor.red; EqButton new Button““; EqButton.setForegroundColor.red; //将“Backspace”、“CE”、”C”、“”显示为红色 BkButton.addActionListenerthis; CeButton.addActionListenerthis; CButton.addActionListenerthis; EqButton.addActionListenerthis; displayField.setHorizontalAlignmentJTextField.RIGHT; //将计算结果显示在displayField的右面 JPanel p1 new JPanelnew FlowLayout; //以FlowLayout布局p1 p1.addBkButton; p1.addCeButton; p1.addCButton; p1.addEqButton; //设置四个按钮“Backspace“,“CE“,“C“,““ JPanel p2 new JPanelnew GridLayout2,1; //以GridLayout布局p2 p2.adddisplayField; p2.addp1; //加入显示结果的JTextField和p1 JPanel p3 new JPanelnew GridLayout4,4; //以GridLayout布局p3 forint i 0;i btnTexts.length;i { button[i] new ButtonbtnTexts[i]; //将数组btnTexts[]的值赋给数组button[] button[i].setForegroundColor.blue; //组件button的前景色显示蓝色 p3.addbutton[i]; button[i].addActionListenerthis; } Container cp this.getContentPane; //采用默认的BorderLayout布局cp cp.addp2,BorderLayout.NORTH; cp.addp3,BorderLayout.CENTER; } (3)方法名actionPered 作用设置各个按钮的行为 public void actionPeredActionEvent event { boolean sign false; //判断是否是double型数参与运算,是为true,不是为false Object temp event.getSource; try { for int i 0; i 9; i //如果按下数据按钮,将按下的按钮代表的数据插入的当前文本框字符串之后 if temp button[i] //按下.按钮时,判断当前文本框内字符串中含不含.,如果已含,则不允许再插入. if temp button[14] clickable false; } 2、界面设计 下图为该程序运行时的界面截图 三、 详细设计 以下为该程序的主要代码 import javax.swing.*; import java.awt.*; import javax.swing.event.*; import java.awt.event.*; import java.text.Decimalat; public class Calculator extends JF