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

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

开始动手

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

主要知识点

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

一、项目创建

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

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

3.创建一个包package

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

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

二、代码部分

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

http://c.biancheng.net/swing/

1.编写响应逻辑的实现

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

定义状态开关

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

UI组件创建

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

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

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

文本框对齐

UI组件添加进容器

事件处理程序

数字键处理逻辑

运算符处理逻辑

清除键处理逻辑

等于键处理逻辑

小数点处理逻辑

注册监听器

窗口关闭

计算逻辑

三、运行项目

实现效果如下

四、项目总结

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

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

(0)

相关推荐

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

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

  • java简单实现计算器

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

  • Java简单计算器的实现

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

  • java实现简单计算器

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

  • java实现简单计算器功能

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

  • Java实现一个简单计算器

    先来看看界面效果: 源码如下: package test1;   import java.awt.Frame; import java.awt.TextField; import java.awt.Button; import java.awt.Panel; import java.awt.GridLayout;   import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;   import java.awt.

  • Java编程思想里的泛型实现一个堆栈类 分享

    觉得作者写得太好了,不得不收藏一下. 对这个例子的理解: //类型参数不能用基本类型,T和U其实是同一类型. //每次放新数据都成为新的top,把原来的top往下压一级,通过指针建立链接. //末端哨兵既是默认构造器创建出的符合end()返回true的节点. 复制代码 代码如下: //: generics/LinkedStack.java// A stack implemented with an internal linked structure.package generics; publi

  • 使用Java制作一个简单的记事本

    通过使用Java的Swing.IO来实现一个简单记事本,实现打开指定的text文本文件,然后将text文件的内容加载到Swing组件中,然后在Swing组件中编辑记事本内容,然后同菜单的保存选项将编辑后的内容保存到text文件中.代码如下: 复制代码 代码如下: import java.io.*; import java.nio.*; import java.nio.channels.*; import java.nio.charset.*; import java.awt.*; import

  • Java编写简单计算器的完整实现过程

    前言 本文用Java的swing来实现一个简单计算器,主要内容为图形用户界面GUI的实现以及运算表达式核心算法的设计编写. 程序运行环境为Windows10 ,编译环境为MyEclipse . 一.具体功能: 1.:输入,输出 输入:允许输入带有括号的完整计算式(例 8*(4-95)+5÷2*e-pi) 输出:输出Double类型的结果 输出:整个运算表达式并保存于历史记录中 2.:功能 基本的加,减,乘,除,四则运算  平方运算  开方运算  求余运算 最终界面如下图: 除了常规的数字按钮和运

  • Java编程实现从尾到头打印链表代码实例

    问题描述:输入一个链表的头结点,从尾巴到头反过来打印出每个结点的值. 首先定义链表结点 public class ListNode { int val; ListNode next = null; ListNode(int val){ this.val = val; } } 思路1:此题明显想到是利用栈的思想,后进先出,先遍历链表,依次将结点值进栈.最后在遍历栈出栈. public static Stack<Integer> printListReverse_Stack(ListNode li

  • Java编程基础测试题分享

    单选题:(每道题目2分) 1. 下列哪个声明是错误的?(B) A.  int i=10; B.  float f=1.1;     //float f=1.1f C.  double d=34.4; D.  byte b=127; long类型的数据加后缀L或者l float类型的数据加后缀F或者f 整数默认是int类型 浮点数默认是double类型 2. 下面哪个不是java中的关键字?(C) A. public B.  true C.  main D.  class 3. 下面程序哪个语句是

  • Java编程获取文件列表及子文件目录的方法(非递归)

    废话不谈,直接进入正题,理解见代码注释. // 非递归 public List<String> scanFiles(String path) { List<String>filePaths = new ArrayList<String>(); LinkedList<File> list = new LinkedList<File>(); File dir = new File(path); File[] file = dir.listFiles(

  • Java编程将汉字转Unicode码代码示例

    上一次接触到编码的知识,还是上大学的时候,那时候学的是通信工程专业,有关编码的内容,不记得是在通信原理还是信息论与编码里面学到的了.却依然记得那个信息论与编码的老师,最喜欢吃的是尖椒肥肠盖饭,不知道是尖椒肥肠吃多了还是太聪明的缘故,三十多岁就开始拜顶了.那四年真是一段难忘的回忆... 话不多说,咱们进入正题.这里是一个简单的Java编程将汉字转Unicode码代码示例,下面是代码: package me.socketthread; public class ToUnicode { /** * @

  • Java编程实现中英混合字符串数组按首字母排序的方法

    本文实例讲述了Java编程实现中英混合字符串数组按首字母排序的方法.分享给大家供大家参考,具体如下: 在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序.例如: String[] arrays = new String[] { "gyu", "sdf", "zf", "大同", "收到", "地方", "三等分"

随机推荐