基于JavaJDK的简易计算器(含源文件)

  • 格式:doc
  • 大小:188.00 KB
  • 文档页数:20

Java课程设计

设计题目 基于JavaJDK的计算器 设计时间 2017 学生姓名 冯明宇 学生学号 140404211 所在班级 1402班 指导教师 申静 摘要 计算器在我们的生活中常常会使用到,本次课程设计,利用课堂所学到的知识,通过界面以及其中的逻辑处理,完成了基本的四则运算的处理。通过awt包或者swing包中的界面设计,实现了通过界面来显示输入过程和运算结果,同时也使设计出来的计算器符合人性化的基本要求。面向对象的思想从很大程度上可以让程序的思路更加清晰,而且可重用性很高。

关键词 java;计算器;四则运算;面向对象; Ⅰ

目 录 一.课设题目及要求…………………………………………………………….1 1.1课设题目描述……………………………………………………………...1 1.2基本要求…………………………………………………………………...1 二.功能描述及设计方案……………………………………………………….1 2.1计算器功能描述……………………………………………………….…..1 2.2设计思想及方案…………………………………………………………...1 三.程序说明…………………………………………………………………….3 3.1界面设计…………………………………………………………………...3 3.1.1UI组件创建与初始化………………………………………..……...3 3.1.2在窗体中添加UI组件…………………………………………..……4 3.2添加事件响应逻辑………………………………………………………..6 3.3计算逻辑实现……………………………………………………………..7 四.运行效果及存在的不足…………………………………………………….9 4.1运行效果…………………………………………………………………..10 4.2存在的不足………………………………………………………………..10 五.结果分析及心得体会………………………………………………………11 六.参考文献…………………………………………………………………....12 七.源程序附录…………………………………………………………………12 1

一.课设题目及要求 1.1课设题目描述 在JavaJDK平台上设计并实现一个基于窗口界面的计算器 1.2基本要求 该计算器可以运算两个两位数的加减乘除运算,可以通过点击窗口的按键来实现所有操作(包括输入数字和运算符号以及作为计算等等),输入过程及运算结果都要与按键所在同一窗口中呈现

二.功能描述及设计方案

2.1计算器功能描述 本次课程设计的计算器具有能够进行加、减、乘、除四则基本运算的基本功能,并且通过自己的努力为此计算器添加了两个附加的功能:清零和异常处理机制,即除数为0以及只单击运算符运算的算法错误,并且能很好的实现其功能。

2.2设计思想及方案 2.2.1设计思想概述 要制作一个计算器,首先需要知道它由哪些部分组成。

结构上来说,一个简单的图形界面,需要由界面组件、组件的事件监听器(响应各类事件的逻辑)和具体的事件处理逻辑组成。

2.2.2设计方案结构图 基本运算功能方案图

界 面 界面组件事件响应逻 辑

数值计算

逻 辑

响应按钮等到的 点击事件 调用具体算

法计算

更新文本框等组件显示的值

传递计算

结果 2

异常处理机制功能方案图

设计好实现方案后,接下来,我们首先需要制作界面部分。这部分主要的工作就是创建各个界面组件对象,对其进行初始化,以及控制各组件之间的层次关系和布局大 小

三.程序说明

运行 输入计算的数值 单击运算符号,再单击等于符号 单击运算符号,弹出一个消息框,提醒错误

输出结果

Y N 3

3.1界面设计与实现 3.1.1 UI 组件创建和初始化 (1)、面板 JPanel txtpanel:用于放置文本框 Panel btnpanel: 用于放置按钮(0-9和+,-,*,/,=) (2)、显示部分 a.第一个面板:txtpanel 位置以及排列方式BorderLayout.NORTH txtpanel.add(txtinput):添加文本框到txtpanel面板中 b.第二个面板:btnpanel 排列方式:setLayout(gl) (3)、基本按钮 btnpanel.add(b7) btnpanel.add(b8) btnpanel.add(b9); btnpanel.add(multiply) btnpanel.add(b4) btnpanel.add(b5); btnpanel.add(b6) btnpanel.add(divide) btnpanel.add(b1); btnpanel.add(b2) btnpanel.add(b3) btnpanel.add(add); btnpanel.add(b0) .add(bdes) btnpanel.add(equal); btnpanel.add(subtract) 以上是在第二个面板btnpanelH中添加的0到9和+,-,*,/,=的按钮。 首先我们需要将界面中要用到的 UI 组件作为 Calculator 类的成员变量在一开始声明。主要代码如下:

// 继承一个 JFrame 对象。JFrame 可以理解为程序的主窗体。 public class Calculator extends JFrame implements ActionListener { //txtpanel用于放置文本框,btnpanel用于放置按钮 JPanel txtpanel,btnpanel; //创建文本框,用于显示内容 JTextField txtinput; . . . //声明各个UI组件对象并初始化 4

public Calculator() { super("基于JavaJDK的计算器"); txtpanel=new JPanel(); btnpanel=new JPanel(); // 参数 25 表明可以显示 25 列的文本内容 txtinput=new JTextField(25); // 设置文本框不能编辑 txtinput.setEditable(false); // 设置文本框为右对齐,使输入和结果都靠右显示 txtinput.setHorizontalAlignment(JTextField.RIGHT); txtinput.setText(""); // 数字键0到9 b1=new JButton("1"); b2=new JButton("2"); b3=new JButton("3"); b4=new JButton("4"); b5=new JButton("5"); b6=new JButton("6"); b7=new JButton("7"); b8=new JButton("8"); b9=new JButton("9"); b0=new JButton("0"); // 计算命令按钮,加减乘除以及小数点,清除等 bdes=new JButton("."); add=new JButton("+"); subtract=new JButton("-"); multiply=new JButton("*"); divide=new JButton("/"); clear=new JButton("清 零"); equal=new JButton("="); 5

3.1.2 在窗体中添加 UI 组件 这个计算器有两个 JPanel

什么是 JPanel:JPanel 是一般轻量级容器。如上图所示,你可以将其理解为一个盛放其他 UI 组件的“篮子”。 JPanel 位于 javax.swing 包中,为面板容器,可以加入到 JFrame 中 , 它自身是个容器,也可以把其他 component (组件) 加入到 JPanel 中,例如 JButton、JTextArea、JTextField 等。

在这个项目中,两个 JPanel 分别对应这个计算器按键除 “清零” 键外其他的键,另个面板则是文本框跟 “清零” 键。

主要代码如下: // 创建Jpanel 的两个对象并初始化 //txtpanel用于放置文本框,btnpanel用于放置按钮 JPanel txtpanel,btnpanel;

.

. . //将UI组件添加进容器内 getContentPane().add(txtpanel,BorderLayout.NORTH); txtpanel.add(txtinput); txtpanel.add(clear); // 设置该容器的布局为四行四列,边距为5像素 gl=new GridLayout(4,4,5,5); btnpanel.setLayout(gl); getContentPane().add(btnpanel);

JPanel 文本框 按钮 按钮