当前位置:   article > 正文

实验一 简单计算器的实现java

实验一 简单计算器的实现java

1、简单计算器的实现

实验内容:

  1. 学习GUI图形界面的设计,Python Tinker或 Java Swing/Awt 或C++ QT框架,创建交互友好的应用程序;
  2. 能通过界面按钮控件输入并实现算术表达式,输入的表达式即时在控件中显示,按下“=”按钮能实现运算,并将运算结果输出在控件中显示;要求能保存和浏览历史表达式的运算记录。
  3. 算术表达式求解,是指算术表达式中包括加、减、乘、除、括号等运算符,能求解包含括号的四则混合运算;并且能够检验表达式的合法性。
  4. 选做:①实现三角函数的运算、对数运算、指数运算、进制转换等;

                    ②设计函数,分别求两个一元多项式的乘积与和。

        

        图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。

        给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。

        除数字的输入为直接进行输入外,其他运算例如+、一、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。

        至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数, 例如要将十进制转换成二进制则可直接调用函数Integer.to Binary String(inti) 来实现, 充分显示了Java语言的简洁性和Java语言功能的强大性。

        当然了在输入数据时还要进行异常捕捉, 防止越界的现象的发生, 这也是Java语言健壮性的体现。

功能模块设计:

1.能实现正常的四则运算,且具有一定的自动纠错功能。

2.输入的运算式子能在显示框内正常显示。

3.能带括号正常运算

思路分为两个方面:

第一是计算器界面怎么做,需要什么元素、控件。第二是对运算的实现。

1、首先来分析一下计算器的基本界面,完成四则运算,基本上就是0~9十个按钮、一个小数点、一个等号、四个加减乘除按钮,还有一个显示文本的Text。大概就长这个样子:

         这个布局首先是一个上下结构,上面是一个text文本框,下面是各种按钮,所以我们可以用一个VBox把text放上面,把下面的其他组件放下面。而下面是一个5*5的矩阵,矩阵里放着22个按钮(Button)。所以下面的按钮需要一个矩阵来装,这就要用到GridLayout,大主要是按照按照网格状进行布局。

2、接下来我们来分析一下运算怎么搞,大家可以先想想平时我们算四则运算需要什么,他们出现的先后顺序。没错,我们需要知道第一个数,然后一个操作,然后第二个数,最后只要点击了等号就会出现结果。

3、因为是鼠标点击按钮输入数字,我们就需要对四则运算加监听器。

监听器就是监听某个对象的状态变化的技术。监听器包括事件源,监听器,注册监听器以及响应行为四个部分。

  事件源即被监听的对象。

  监听器是监听事件源对象的状态变化。

  注册监听器即将监听器与事件源关联起来。

  响应行为即监听到事件源所触发的动作。

  监听器按照不同的划分方式可以分为多种

    1,按照监听的对象不同可分为HttpRequest域,HttpSession域和ServletContext域。

    2,按照监听的状态可分为监听域对象的创建与销毁,属性状态的变化。(这两点可归纳为监听三大域对象的创建与销毁及其属性的状态变化)

4、基于在显示框显示操作记录,以及运算的实现,需要用到堆栈的算法结构,所以基于堆栈的原理

        1.一个名为TOP的指针  用于跟踪堆栈中的顶部元素。

        2.初始化堆栈时,我们将其值设置为 -1,以便我们可以通过比较来检查堆栈是否为空 TOP == -1。

        3.在推送一个元素时,我们增加TOP的值  并将新元素放置在TOP指向的位置 。

        4.在弹出一个元素时,我们返回TOP指向的元素  并减少它的值。

        5.在推送之前,我们检查堆栈是否已满。

        6.在弹出之前,我们检查堆栈是否已经为空。

而我们这里直接调用JAVA库里的方法即可

5.部分使用截图:

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号