计算器实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二、巩固Java基础

一、实验目的

1)巩固Java语言进行结构化程序设计基本概念。

2)巩固Java语言进行面向对象程序设计基本概念。

3)能够应用面向对象程序设计思想解决实际问题。

二、实验内容

1)创建学生类Student来完成下面问题。

(1)创建类Student,包括属性学号no、姓名name和年龄age,且都是private 类型;

(2)声明一个构造方法,以初始化对象的所有的域;

(3)声明获得各属性(学号、姓名和年龄)的各个方法;

(4)声明设置各属性(学号、姓名和年龄)的各个方法;

(5)声明一个public型的toString方法,将该类所有域信息组合成一个字符串;(6)声明统计创建Student对象的个数的成员变量count和得到Student对象的个数的方法。

在主类中使用Student类创建两个Student对象,输出对象所有域信息;修改其姓名和年龄,并显示。

public class Student {

//无参构造函数

public Student(){}

//有参构造函数

public Student(String no, String name, int age){

this.no = no;

this.age = age;

= name;

}

private String no; //学号

private String name;//名称

private int age;//年龄

public String getNo() {

return no;

}

public void setNo(String no) {

this.no = no;

}

public String getName() {

return name;

}

public void setName(String name) {

= name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

//-----------------------------Set 跟Get 方法end ------------------

//重写toString方法

@Override

public String toString() {

return "我的名字叫:".concat(name).concat(",学号是:").concat(no).concat(",今年").concat(age+"岁了!");

}

//程序入口

public static void main(String[] args) {

//学生对象1

stu = new Student("00001", "小明", 18);

System.out.println(stu.toString());

//学生对象2

stu = new Student("00002", "小花", 22);

System.out.println(stu.toString());

}

}

三、需求分析

该计算器程序除了具备加减乘除基本的功能外还有重置功能 ce,程序里面实现了事件监听接口,该程序只能实现一些基本的加减乘除运算。

计算器的基本功能:

1、加法运算:用数字按钮和“+”按钮进行运算;

2、减法运算:用数字按钮和“-”按钮进行运算;

3、乘法运算:用数字按钮和“*”按钮进行运算;

4、除法运算:用数字按钮和“/”按钮进行运算;

5、开根运算:用数字按钮和“sqrt”按钮进行运算;

6、返回上一级键实现;

7、清零键C按钮实现。

四、系统设计

功能函数说明

actionPerformed 将每个组件都添加事件响应。具体的事件响应操作将在

其他的类中逐一实现。

jbInit() 对程序进行初始化并设置大小,名字,布局方式

handleReset()类实现C、CE、backspace按钮的复位操作handleNumber() 字符串输入控制类

完成简单计算器的设计与实现。图形界面如下图所示:

系统界面如下图所示

五、源程序

运行正常,可以实现计算器的“+”“—”“*”“/”等运算功能。

/* 一个计算器,与Windows附件自带计算器的标准版功能、界面相仿。但还不支持键盘操作。*/ package sy;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.io.*;

//创建Calculate类继承swing包里的JFrame类用于显示界面里标签、按钮和文本字段public class Calculate extends JFrame {

private String front = "",behind = "";//分别用于记录加减乘除运算符之前之后输入的内容

private String op; //用于记录运算符

private String re;//用于存储运算结果的字符串格式

private boolean flag = false; //用于记录是否按下了运算符

private boolean flag1 = false;//用于判断是否输入了点运算符

private double result;//用于存储运算结果

private boolean flag2 = false;//用于判断是否输入了数字

private boolean flag3 = false;//用于判断是否按下了等号运算符

//swing包中对窗体中具有相同逻辑功能的组件进行组合的类

JPanel contentPane; /** 计算器上的键的显示名字创建对象并实例化*/

JTextField txtResult = new JTextField("0");

JButton btnNull = new JButton("sqrt");//新建一个按钮显示为sqrt

JButton btnFour = new JButton("4");//新建一个按钮显示为4

JButton btnFive = new JButton("5");//新建一个按钮显示为5

JButton btnSix = new JButton("6");//新建一个按钮显示为6

JButton btnDecrease = new JButton("-");//新建一个按钮显示为-

JButton btnBegin = new JButton("C");//新建一个按钮显示为c

JButton btnOne = new JButton("1");//新建一个按钮显示为1

JButton btnTwo = new JButton("2");//新建一个按钮显示为2

JButton btnThree = new JButton("3");//新建一个按钮显示为3

JButton btnMultiply = new JButton("*");//新建一个按钮显示为*

JButton btnCancel = new JButton("←");//新建一个按钮显示为←

JButton btnZero = new JButton("0");//新建一个按钮显示为0

JButton btnMinus = new JButton("+/-");//新建一个按钮显示为+/-

JButton btnPoint = new JButton(".");//新建一个按钮显示为.

JButton btnDivide = new JButton("/");//新建一个按钮显示为/

JButton btnEqual = new JButton("=");//新建一个按钮显示为=

JButton btnIncrease = new JButton("+");//新建一个按钮显示为+

JButton btnSeven = new JButton("7");//新建一个按钮显示为7

JButton btnEight = new JButton("8");//新建一个按钮显示为8

JButton btnNine = new JButton("9");//新建一个按钮显示为9

//用try,catch抛出错误,监视所有又可能发生异常的代码

相关文档
最新文档