zoukankan      html  css  js  c++  java
  • Java课程设计

    Java课程设计

    一、题目介绍

    计算器模拟程序(2人)得分系数:D

    功能要求:仿照Windows计算器,编写一具有GUI的计算器,能实现整数的加、减、乘、除四则运算,并且需要支持键盘快捷键,基本可取代windows计算器。支持复制、粘贴功能,方便输入长串数字。
    界面显示可参考下图。历次计算需存放在文件中,下回启动可重复使用。功能具体参考windows计算器(查看菜单选择:标准型、历史记录(实现这个可提升等级))

    加分建议:更多功能(进制转换)、更漂亮界面、更方便的操作、支持解析四则运算表达式、支持对大数的加减法、支持对运算结果的保存与读取。或者做成多线程,提供网络计算服务。

    二、团队成员及任务分配表

    三、设计过程

    产品界面

    系统流程图

    系统功能图

    主要功能设计

    进制转换
    利用Integer的toBinaryString方法和toOctalString方法实现转换,但是我们定义的resultNumber是double型,所以要先把resultNumber转换成int型,再用两个方法,最后用Double的valueOf方法赋值给resultNumber。

    精确度实现
    浮点型计算是不精确的,BigDecimal类才能实现精确的计算,在以上提到的几种运算中都要用到此类。使用String.valueOf将double型转换成String型,然后new BigDecimal 对象,再用BigDecimal自带的add、subtract、multiply等方法。

    四、Git提交

    林俊伟

    链接

    程会青

    代码 链接
    .jar包 链接

    五、课设总结

    本次Java课设 计算器 界面较为美观,基本功能较为齐全,最大的亮点在于精度的完善与 进制转换 的实现,也能保存前次运算结果,能够实现内外大串数据的复制粘贴;遗憾与不足就在于未能实现长串运算表达式,仅能累次运算,算法优先级运算未能实现;使用键盘输入.0123456789也未能实现,多次研究KeyListener并尝试编写相应代码,出现些许错误未能得到解决,后选择放弃;通过本次课设,我对界面设计和Swing组件有了更加深入的理解,形成较为缜密的运算思维,但是对创建表达式(栈的认知还有待加强)、对键盘鼠标监听器的研究还有待深入。

  • 相关阅读:
    强化学习
    详解a标签中href=""的几种用法 锚点
    使用Django自带的登录访问限制login_required
    ValueError: invalid literal for int() with base 10: ''
    Django 中创建Model时报以下错误: TypeError: init() missing 1 required positional argument: ‘on_delete’
    bootstrp实现同一界面多个模态框
    第十二章 Django框架开发
    Python format 格式化函数
    Python3.x在django中如何设置Content-Disposition,才能让浏览器正确保存中文命名的文件?
    python中的*和**参数传递机制
  • 原文地址:https://www.cnblogs.com/chqing/p/8352972.html
Copyright © 2011-2022 走看看