java简易计算器实验报告_Java 《Java 实现简单计算器》实验报告

d5acf9b59ca3

15325592-d9e8874662abf194.png

环境

macOS

java 15

Eclipse

创建项目

项目命名

d5acf9b59ca3

2020-10-19_5f8d56908a700.png

如上图所示,打开 eclipse,安照流程File->New->Java Project创建一个新的项目,命令为calculator,点击 Finish 完成创建。

新建类

d5acf9b59ca3

2020-10-19_5f8d5856e7c0e.png

d5acf9b59ca3

2020-10-19_5f8d58d97d32d.png

如上图所示,在新建类对话框中填写包名 com.util.calculator 和类名 Calculator。点击 Finish 完成创建。

修改 Calculator.java,代码如下:

package com.util.calculator;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.Vector;

import java.math.BigDecimal;

public class Calculator {

// 操作数1,为了程序的安全,初值一定设置,这里我们设置为0。

String str1 = "0";

// 操作数2

String str2 = "0";

// 运算符

String signal = "+";

// 运算结果

String result = "";

// 以下k1至k2为状态开关

// 开关1用于选择输入方向,将要写入str1或str2

int k1 = 1;

// 开关2用于记录符号键的次数,如果 k2>1 说明进行的是 2+3-9+8 这样的多符号运算

int k2 = 1;

// 开关3用于标识 str1 是否可以被清0 ,等于1时可以,不等于1时不能被清0

int k3 = 1;

// 开关4用于标识 str2 是否可以被清0

int k4 = 1;

// 开关5用于控制小数点可否被录入,等于1时可以,不为1时,输入的小数点被丢掉

int k5 = 1;

// store的作用类似于寄存器,用于记录是否连续按下符号键

JButton store;

@SuppressWarnings("rawtypes")

Vector vt = new Vector(20, 10);

// 声明各个UI组件对象并初始化

JFrame frame = new JFrame("Calculator");

JTextField result_TextField = new JTextField(result, 20);

JButton clear_Button = new JButton("Clear");

JButton button0 = new JButton("0");

JButton button1 = new JButton("1");

JButton button2 = new JButto

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大连民族大学 计算机科学与工程学院 《Java语言》课程实验报告 实验题目: 计算器的设计与实现 课程名称: Java语言 实验类型: 演示性 验证性 操作性 设计性 综合性 专业:网络工程 班级:**** 学生姓名*** 学号:***** 实验日期:2018年 4月23日 地点:计算机学院综合试验中心(I-303) 实验学时:4 实验成绩: 指导教师签字: 2018年 5月21日 1. 问题需求描述:Problem description 利用Java Swing设计计算器图形化界面,并实现事件的监听,以及计算器基本的加、减、乘、除、 清空、输出运算结果的操作,学习使用各种图形化界面的控件,容器,布局等,学习对 按钮事件的处理等。以及对非法输入的处理。 2. 设计说明:Design notes 本计算器,界面方面总体采用BorderLayout布局,显示输入输入的文本框和清除按钮 采用FlowLayout布局,容器放在BorderLayout的North;0- 9和各种运算符号还有小数点采用GridLayout布局,容器放在BorderLayou的Center;事 件监听和处理通过实现addActioListener监视器接口和ItemEvent事件接口,从而对每一 个按钮实现事件的监听和处理;计算方面,调用ScriptEngineManager和ScriptEngine两 个类,直接通过eval函数直接把输入文本当作JS代码执行,输出执行结果,这样报错也 会直接实现,另把文本框设置不允许直接从键盘输入以防止出现安全事件。 最后通过转化成JS代码运算得到启发,使用类似方法,我还实现了调用VB代码实现计算 器实时读出键盘输入,发出声音。 3. 系统实现:system implementation 1.程序界面展示 4. 总结体会: summary and experience 实验达到了预期的目标。通过此次的编程,我学会了用Java语言编写简单的软件,增强 了我对学习Java的兴趣。编程过程中,总体设计主要是窗口与组件的应用,具体执行则 是利用Java语言设计算法,而难点也在算法的设计上。虽然程序大体上符合要求,但由 于第一次编写这么复杂的程序,程序仍然存在一- 些漏洞,譬如由于未进行异常处理,当连续输入运算符是程序会出错,还有若一直按小 数点的话会得到一连串的小数点。由于最近忙着考试没有时间修改,考试结束后一定认 真修改这些问题。我觉得在编程时应该注意排版对齐,这样不论是自己检查程序还是别 人阅读程序都会更加方便。如果能添加备注的话以后阅读程序会更容易些。在以后的编 程中我会吸取经验,养成认真、严谨的编程习惯。 附:程序清单 1. import javax.swing.JFrame; public class Calculator { public static void main(String[] paramArrayOfString) { CalculatorFrame localCalculatorFrame = new CalculatorFrame(); localCalculatorFrame.setSize(800, 800); localCalculatorFrame.setVisible(true); } } 2 import java.awt.Container; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; class CalculatorFrame extends JFrame { public CalculatorFrame() { setTitle("Calculator"); setSize(200, 200); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent paramAnonymousWindowEvent) { System.exit(0); } }); Container localContainer = getContentPane(); localContainer.add(new CalculatorPanel()); } } 3. import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Font; import java.awt.GridLayout; import java.awt.eve

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值