Java程序设计带有函数功能的计算器

时间:2025-02-23

Java程序设计带有函数功能的计算器

《Java程序设计》课程设计报告

课题名称:带有函数功能的计算器设计

系别:

班级:

姓名:

学号:

Java程序设计带有函数功能的计算器

1. 课程设计题目

基于带有函数功能的计算器设计

2. 课程设计目的

1. 巩固和加深课堂所学知识;

2. 将课本上的理论知识和实际应用有机的结合起来,培养分析和解决实际问题的能力;

3. 通过对java语言程序代码的阅读、修改、设计,理解和掌握复杂的java语言应用程序的编程,提高实践编程能力。

3. 程序运行环境

本程序在windows visit的pc机上利用jdk-6u7-windows-i586-p软件运行通过。

4. 程序功能使用说明

运行该程序后,参与运算的操作数可有鼠标点击相应按钮输入,但操作符应有鼠标点击相应的按钮,当:

1. 在简易计算中可以按照常规输入计算,基本无bug,“%”未设置其用途;

2. 简易计算中,可以进行+、-、*、/、乘方(√)及阶乘(!)运算;

3. 科学计算中有许多功能为实现,主要能进行加、减、乘、除、乘方、开方、幂、开n次方、倒数、阶乘、ln、e的x次幂、三角函数等高级运算;

4. 例如:

Java程序设计带有函数功能的计算器

(1).1+8=9

(2).20+-5=15

(3).36-6=30

(4).2*8=16

(5).36/6=6

(6)4^2=16

(7).100√=10

(8).-9√=不能执行此操作!

(9).3!=6

(10).-20!=不能执行此操作!

(11).0!=1

(12).6In=1.791759469

(13).2Exp=7.38905609893065

(14).8x^y3=512

(15).20x^2=400

(16).6n!=872

(17)30sin=0.5 其它(cost,tan)依次类推;

(18).1/x计算有bug;

(19).3 x√8=2(求8开3次方);

(20).85mod10=5(85对10求余)

5. 关键算法与技术:

1. 大数阶乘;

Java程序设计带有函数功能的计算器

2. 界面切换;

3. GirdLayout布局管理器的使用;

4. 事件响应;

5. 匿名内部类的使用;

6. 设计思路:

本程序采用模块化设计,调试方便,程序的可读性好。在老师的指导下,由主程序启动简易计算器,根据使用者的需要可以在简易计算器中进行运算操作,若不能满足用户功能,可以选择使用科学计算器,具体操作与目前市面上的计算器差不多,用户还可以选择使用说明进行查看具体操作。由于时间及个人水平的问题,科学计算中还有很多功能未实现。

具体思路:用户输入(点击)某一数字或操作符,程序将自行判断是操作数还是操作符,

1. 若为一操作数的首次输入,则将显示区的“0”替换,若该操作数不为首次输入则将显示区的数字串接上此次输入的数字;

2. 若为操作符,将判断是否为带符号操作数,若是则保存符号,反之为纯操作符:若为二元操作符就将显示区的字符串转化为双精度数;若为等号就进行计算结果并显示结果;若为一目操作符就进行相应的一目运算并显示结果;

3. 进行相应的初始化操作,为下一次输入做准备;

Java程序设计带有函数功能的计算器

4. 根据自己的理解画了下面的简单的流程图。略

7. 编码实现:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

import java.math.*;

import java.util.*;

/**

* <p>Title: 用户应用界面计算器</p>

* <p>Description: 包含简易计算与功能更加强大的科学计算</p>

* <p>Copyright: Copyright (c) 2009</p>

* <p>Company: 华中科技大学武昌分校</p>

* @author 涂小青

* @version 1.0

*/

public class Calculat {

static JTextField show;//设置输入区,显示区

static double opNum = 0;//存放操作数

static String opChar = "=";//存放操作符

static boolean flag = true;//设置标志

public static void main(String[] args) {

new EasyFrame();//产生首界面——简易计算器

}

}

class EasyFrame//构建简易计算器框架界面

{

static JFrame frame;

public EasyFrame()

{

frame = new JFrame("简易计算器");

Toolkit kit = Toolkit.getDefaultToolkit();//设置图标

//下面这条语句不好,不具有可移植性

Image image = kit.getImage("D:\\jbproject\\netTest\\src\\nettest\\1471.jpg"); frame.setIconImage(image);

frame.addWindowListener(new WindowAdapter() {//响应关闭事件

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

JMenuBar mb = new JMenuBar();//创建菜单栏

JMenu m1 = new JMenu("编辑");//创建菜单

Java程序设计带有函数功能的计算器

JMenu m2 = new JMenu("操作");

JMenu m3 = new JMenu("帮助");

JMenuItem mi1c = new JMenuItem("复制", KeyEvent.VK_C);//创建菜单项 JMenuItem mi1v = new JMenuItem("粘贴", KeyEvent.VK_V);

JMenuItem mi21 = new JMenuItem("基本计算");

JMenuItem mi22 = new JMenuItem("科学计算");

JMenuItem mi31 = new JMenuItem("使用说明");

JMenuItem mi32 = new JMenuItem("About...");

frame.setJMenuBar(mb);//添加菜单到窗口

mb.add(m1); mb.add(m2); mb.add(m3);

m1.add(mi1c); m1.add(mi1v);

m2.add(mi21); m2.add(mi22);

m3.add(mi31); m3.add(mi32);

/*菜单项监听事件 …… 此处隐藏:9552字,全部文档内容请下载后查看。喜欢就下载吧 ……

Java程序设计带有函数功能的计算器.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219