当前位置:   article > 正文

实现一个基本的计算器JAVA_使用java编程从0到1实现一个简单计算器

0和1预测计算器

使用java编程从0到1实现一个简单计算器

学习编程语言最重要的就是实践。很多小伙伴在学习完编程语言后,一直停留在基础阶段,只懂一大堆理论知识,而不懂得实践。那么,今天我们一起来动手做一个小计算器,回顾下学习过的知识,同时这也是很多大学计算机专业的期末作业,应该尝试动手并完全理解它。

开始动手

本次实验会用到Java Swing图形组件进行开发

主要知识点

Java Swing界面的编程计算器运算逻辑的实现

一、项目创建

打开Eclipse,在文件的菜单File选择 New -> Java Project

0a85e55c5108818753c44c4d0444029b.png

2.在Project name一栏填写项目名称Calculator(自定义),并点击Finish按钮完成创建

632025fb3f62dc9105ceabc4004f7df0.png

3.创建一个包package

9733355cd241ed3738e92675ce6174d3.png

4.在创建好的项目目录src上右键点击,菜单中选择 New -> Class 来创建一个类

299c9112ea0ff21a4c8c82b7538406a7.png

5.在新建类的对话框中填写类名 Calculator(自定义),点击 Finish 按钮完成创建

5423721cc974141a392f200a32b9c8fd.png

二、代码部分

未接触过Swing的小伙伴可以先去下面的链接学习下入门的基础知识

1.编写响应逻辑的实现

定义存储当前被按下的操作数和操作符,result存储运算的结果

737ac824182b90f64e53b66f76a12be1.png

定义状态开关

eb03c909461822f73a198703ad7e5949.png

定义JButton变量,存储按下的键,定义一个Vector,储存所有的输入

47e6d78ecd5a1af51bb8a978170a5880.png

UI组件创建

创建主窗体,按钮和文本框

bf1f14f6c2541b9b710be317c3466ce6.png

3.在构造器中完成等效键的设置、UI组件添加进容器、事件处理程序的设计、计算逻辑的实现以及窗口关闭事件的代码编写的工作

等效键的设置(即可以通过对应的键盘按键来代替点击它)

468c4752140953991fff2c373d8505f7.png

文本框对齐

b70def31c2a41dd7739c1d719d55a20a.png

UI组件添加进容器

f48dbb9dfdb5bc9f0a75defd04b36bd8.png

befd58f295aed9e4fc753c54c1ec39fd.png

事件处理程序

数字键处理逻辑

0966581e1472d668b8c6646c5d015795.png

运算符处理逻辑

da4500002aed6000aa0abdc5cf8a1251.png

清除键处理逻辑

f8ea40d08d47aa53884aa5bd079717f7.png

等于键处理逻辑

97b997bf74c5137f31e6020f59575611.png

小数点处理逻辑

712f73338b7d59ef083ae4c36746476e.png

注册监听器

8a08d1a73611a4eb04b7b561dc7d15de.png

窗口关闭

0510aaef08b301d626a4b776b01de729.png

计算逻辑

b580eb0d0deb0b0ade372bd19c54e741.png

6752e65a0ab70dc594d09b172ce9fec5.png

三、运行项目

实现效果如下

9629bc74c9936fa27ff0167ec39f6cce.png

四、项目总结

本次实践练习如何使用Swing进行图形界面的编程以及一些计算逻辑的实现,也只是实现了基本的计算器功能的实现,感兴趣的可以自己动手加一点东西,比如运算符优先级的实现(需要数据结构的实现),进一步提高思考和编程的能力。

到此这篇关于使用java编程从0到1实现一个简单计算器的文章就介绍到这了,更多相关从0到1实现一个简单计算器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2021-02-06

6b5aa0751a6f1e6a9d0b665a02cc1f46.gif

使用java来实现一个简单的计算器,供大家参考,具体内容如下 最近使用java制作了一个计算器,菜单栏里的功能没有实现,只是写一个版式,仅仅实现了计算功能 ,如果想要实现菜单栏功能可自行在该代码的基础上去实现. 话不多说直接上代码 package test; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public

6b5aa0751a6f1e6a9d0b665a02cc1f46.gif

Java简易计算器的实现,供大家参考,具体内容如下 操作流程 用户通过输入要被运算的数字和运算符,进行数字的运算,例如用户输入2+2则会输出4. 加法运算截图 减法运算截图 乘法运算截图 除法运算截图 代码 import java.util.Scanner; //简易计算器 实现加减乘除 public class Demo11 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);

6b5aa0751a6f1e6a9d0b665a02cc1f46.gif

学习编程语言最重要的就是实践.很多小伙伴在学习完编程语言后,一直停留在基础阶段,只懂一大堆理论知识,而不懂得实践.那么,今天我们一起来动手做一个小计算器,回顾下学习过的知识,同时这也是很多大学计算机专业的期末作业,应该尝试动手并完全理解它. 开始动手 本次实验会用到Java Swing图形组件进行开发 主要知识点 Java Swing界面的编程计算器运算逻辑的实现 一.项目创建 打开Eclipse,在文件的菜单File选择 New -> Java Project 2.在Project name一

6b5aa0751a6f1e6a9d0b665a02cc1f46.gif

本文实例为大家分享了java实现简单计算器的具体代码,供大家参考,具体内容如下 思路:定义一个主框架Frame,我们对原设计的草图进行划分,以方便后面的布局 下面我们来对主框架进行划分 如图,我们将主框架划分为四个JPanel,其中panel1,2,3使用GridLayout布局,GridLayout(1,2), 对于panel4我们使用流式布局,主框架设置为FlowLayout, 由此我们把主要的布局设计好了,接下来我们将个标签,文本框,按钮对应按钮按如上设计图依次放入各个panel中,忘了说

6b5aa0751a6f1e6a9d0b665a02cc1f46.gif

本文实例为大家分享了java简单实现计算器的具体代码,供大家参考,具体内容如下 public class Calculator { static ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript"); private static void CreateFrame() { JFrame f = new JFrame("计算器"); f.setSize(600, 500);

java 简单的计算器程序 实现实例: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { CalculatorFrame frame = new Calculato

本文实例讲述了java实现简单的计算器类.分享给大家供大家参考.具体如下: package chap; import java.awt.BorderLayout; import java.awt.Color; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text

本文实例为大家分享了java实现简单年龄计算器的具体代码,供大家参考,具体内容如下 制作一个如下图年龄计算器 根据题目,我做了一个由Calendar类以及年月日各相减得到的年龄,当然正确的方法不止一个,以下为我的源代码和结果截图: package com.Date; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.uti

1a93ec0ec325ea2e933e4469d40d62df.png

本文实例为大家分享了Java实现win10计算器的具体代码,供大家参考,具体内容如下 这个小demo是我上学时的远古代码(嘻嘻嘻),今天整理代码时看到的,看着以前的代码,突然感觉这些是啥?看不懂了都,而且写得也不规范. 运行一下,还是可以的,先截张图 试了一下,bug还是有的,但是可以基本的运算,有兴趣的可以试一下 代码就贴在这里: package com.waking.call; import java.awt.BorderLayout; import java.awt.Dimension;

1d42ce2bbf89c027637ffa4e0e0d7b50.png

以下是代码: Calculator.java 复制代码 代码如下: package com.amos.model; import java.math.BigDecimal; /** * @ClassName: Calculator * @Description: 计算器 * @author: amosli * @email:amosli@infomorrow.com * @date Mar 20, 2014 1:04:59 AM  */ public class Calculator {

723c146465e54d4e626ae115fd6cac07.png

关于GridLayout 在android4.0版本之前,如果想要达到网格布局的效果,首先可以考虑使用最常见的LinearLayout布局,但是这样的排布会产生如下几点问题: 1.不能同时在X,Y轴方向上进行控件的对齐. 2.当多层布局嵌套时会有性能问题. 3.不能稳定地支持一些支持自由编辑布局的工具. 其次考虑使用表格布局TabelLayout,这种方式会把包含的元素以行和列的形式进行排列,每行为一个TableRow对象,也可以是一个View对象,而在TableRow中还可以继续添加其他的控件

本文实例讲述了Java简单计算两个日期月数差的方法.分享给大家供大家参考,具体如下: /** * 获取两个日期相差的月数 * @param d1 较大的日期 * @param d2 较小的日期 * @return 如果d1>d2返回 月数差 否则返回0 */ public static int getMonthDiff(Date d1, Date d2) { Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInsta

69d84cb3dbf8c423a4f446e039b02e06.png

本文实例讲述了Java简单计算圆周率.分享给大家供大家参考,具体如下: 这两天在网上看到一个题,已知Pi可以用函数4 * (1 – 1/3 + 1/5 – 1/7 + -) 计算,计算出小数点后五位(计算圆周率).于是手动写了一个小demo,欢迎大家留言,进行交流与指教. 完整示例代码如下: package math; public class PiTest { private static int bytelimit = 5;// 小数后限制位数 /** * @author zhao33699

本文实例为大家分享了Android studio实现简单计算器的具体代码,供大家参考,具体内容如下 需求分析及概要设计 目的 开发一个简单的计算器App,使之能够完成加减乘除混合运算 工具及环境 使用java语言,在Android studio平台上进行开发 功能设计 "+":实现两数相加 "-":实现两数相减 "*":实现两数相乘 "/":实现两数相除 "=":计算并得出正确结果 "C"

本文实例讲述了java简单读取properties配置文件的方法.分享给大家供大家参考,具体如下: 读取配置文件,小结如下 import java.io.FileNotFoundException; import java.io.IOException; import java.util.Properties; public class loadConf { private Properties prop = new Properties(); private void loadconf() t

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/275793
推荐阅读
相关标签
  

闽ICP备14008679号