精华内容
下载资源
问答
  • 1.摘要:为复习巩固Java语言的...利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器简单明了,清晰可见,操作简单。本计算器是由java语言所设计的...

    1.摘要:

    为复习巩固Java语言的基础知识,进一步加深对java语言的理解和掌控。同过本课程设计使自身能够全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自己的编程能力。利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器简单明了,清晰可见,操作简单。本计算器是由java语言所设计的标准计算器,可以进行十进制下的四则运算、开方、立方以及常见的三角函数。界面类似Windows自带的计算器界面,java早期版本以来,抽象窗口工具包为用户界面组件提供了平台独立的API。在AWI中,每个组件都由一个原生的等同组件生成和控制,这个原生组件是由当前的图形窗口系统决定的。与此相对,Swing组件经常被描述为轻量级的,因为他们不需要操作系统本身所带窗口工具包的原生资源来生成。

    关键词:类、对象、窗口、事件源

    2.设计目的及思路

    1、使学生在巩固理论课知识的同时,加强实践能力的提高,理论联系实践。

    2、课程设计为大家提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机结合起来,锻炼我们的分析解决实际问题的能力。提高我们适应实际,实践编程的能力。给各个按钮进行算法,利用鼠标点击事件

    3、养成自己独立分析和解决问题的能力。培养在项目开发中创新意识及能力,提高面向对象及java语言的理解

    3.模块功能设计

    以下为多功能计算器的基本功能

    (1)加法

    两个数据进行加操作,可以为小数。

    (2)减法

    两个数据进行减操作,可以为负数相减。

    (3)乘法

    两个数相乘操作。

    (4)除法

    两个数相除操作。

    (5)开平方

    对任意一个数进行开方运算,可以是小数。

    (6)立方

    对任意一个数进行开方运算,可以是小数。

    (7)开根号

    对任意一个数进行开根号运算,可以是小数。

    (8)三角函数

    正弦、余弦、正切、余切的运算操作。

    图1 系统功能图

    4.程序中所用到的变量以及方法

    4.1程序中所用到的容器以及组件

    JFrame                 // 底层容器,常用来添加组件

    JLable                  //  定义标签为用户提供提示信息

    JtextField                //  允许用户在文本框中输入单行文本

    JtextArea                 //   允许用户可以在文本区输入多行文本

    Jpanel                   //   创建一个面板,再向这个面板添加组件,本设计中中视为中间容器

    JButton                   // 允许用户点击按钮

    setTitle                  //设置窗口标题

    setDefaultCloseOperation(int operation)   //设置关闭窗口程序做出怎样的处理

    4.2程序中所用到的容器布局

    FlowLayout();         //组件安装先后顺序从左向右一次排列,一行排满后转到下

    一行排列

    BorderLayout();              //把容器简单的分为东西南北中5个区域

    GridLayout();                //把容器划分为若干行乘若干列的网格区域

    null                      //把容器的布局设置为空布局

    setLayout(布局对象)                 //容器可以使用方法设置自己的布局

    4.3程序中用到的ActionEvent事件

    ActionEvent事件源 :文本框、按钮、菜单项、单选按钮都可以触发ActionEvent事件,即都可以成为ActionEvent事件源。如对于注册了监视器的按钮,如果用户单击按钮,就会触发ActionEvent事件

    注册监视器 :Java规定能触发ActionEvent事件的组件使用方法addActionListener(ActionListener listen)将实现ActionListener接口的类的实例注册为事件源的监视器。

    ActionListener 接口:ActionListener接口在java.awt.event包中,该接口中只有一个方法public void actionPerformed(ActionEvent e)。事件源触发ActionEvent事件后,监视器调用接口中的方法actionPerformed(ActionEvent e)对发生的事件做出处理。当监视器调用actionPerformed(ActionEvent e)方法时,ActionEvent类事先创建的事件对象就会传递给该方法的参数e。

    ActionEvent类本设计中用到 getSource()方法,ActionEvent事件对象调用该方法可以获取发生ActionEvent事件的事件源对象的引用,即getSource()方法将事件源上转型为Object对象,并返回这个上转型对象的引用。

    展开全文
  • 计算器实现了自定义左上角图标的功能。 关键词: 建造者模式 状态模式 命令模式 策略模式 单件模式 计算器 面板 标准型 科学型 程序员 特色型 初等函数 二进制 八进制 十六进制 分解质因数 最简二次根式 ...
  • 认识 CalcKit,这是功能最强大的 Android 多合一计算器包。CalcKit 拥有 150 多个独特的计算器和单位... 如果您是学者,学生,老师,发烧友,工程师或杂工,并且需要一个多功能计算器,那么 CalcKit 是适合您的计算工具
  • 自己用C#写的计算器,分享出来,望多多指教 希望朋友们提出宝贵建议或意见以便我日后改进
  • 大猫学生多功能计算器是专为学生使用而开发的一款多功能计算软件。该计算器提供了勾股定理、数据分析等数学计算功能,以及压强计算、浮力计算、功的计算等物理计算功能,并可以显示出计算过程,让学更方便地进行...
  • 下 载 ​【软件名称】:全能计算器 【软件语言】:简体中文 【软件大小】:10.1M 【安装环境】:Android 【下载方式】: 百度网盘链接 ...名称:学生、工程师多功能计算器 测试:雷电模拟...

                                         下 载

     

    ​【软件名称】:全能计算器

    【软件语言】:简体中文 
    【软件大小】:10.1M

    【安装环境】:Android

    【下载方式 】:

    百度网盘链接

    链接:https://pan.baidu.com/s/1xJvFQ7Qp_AYIDs0DvNsfpg

    提取码:avcq

    若链接失效请关注公众号:青年小卖铺

    后台回复‘全能计算器’

       

    软  件  介  绍

    名称:学生、工程师多功能计算器

    测试:雷电模拟器、VIVOX20、OPPOK5 

    测试系统:安卓

    有几百种计算小程序,具体详细下载后自行查看

    详细文件只有10M

           

    详  细  介 绍  

     

    01

    代数运算

     

     

    02

    几何运算

     

             

    03

    单位换算
     

             

    04

    金融运算

     

             

    05

    健康运算

     

             

    06

    其它换算

     

             

    07

    欧姆定律
     

     

       

            * 作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处*

    软件下载资源仅限基于个人用户基于测试学习使用,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。

    如有内容侵犯您的版权或其他利益的,请联系小编。将会在收到消息后的三个工作日内处理。 

     

    展开全文
  • 可实现从文本文件中读取个运算表达式进行计算 实现效果: 因为本程序的主要目的是为了复习数据结构与算法,因此没有写的很复杂。下图为功能1、2、3、4的实现效果,成功实现。其中@代表开方运算,^代表幂方运算 ...

    前言:

    ​ 近期复习了数据结构与算法,于是刚好就写个小程序来巩固一下自己的记忆。知道大家很烦看长篇大论,因此简单的写了下。

    功能描述

    1. 实现基本数学运算 +、-、*、/
    2. 实现带括号()复杂混合运算
    3. 实现开方,幂次运算(不使用官方C标准库)
    4. 针对输入的表达式具有异常判断及提示功能
    5. 可实现从文本文件中读取多个运算表达式进行计算

    实现效果

    因为本程序的主要目的是为了复习数据结构与算法,因此没有写的很复杂。下图为功能1、2、3、4的实现效果,成功实现。其中@代表开方运算,^代表幂方运算

    在这里插入图片描述
    提前准备一个文件,写入需要计算的表达式,如图下:

    在这里插入图片描述
    进行测试,测试结果如下:

    在这里插入图片描述

    同时将结果存于文本文件中:
    在这里插入图片描述

    实现原理

    程序主要包括计算模块、输入处理模块、显示模块、窗口句柄设置模块等。

    • 输入处理模块:
      为了方便后续进行计算等操作,需要对用户输入的字符串进行简单的处理,处理结果就是每个数字(不是单个数字字符,是一组数字)。比如将输入的1+4.432*3+ (3 -1)处理为1 + 4.432 * 3 + ( 3 - 1 ),这样更方便于后期根据' '字符进行分割提前数字或操作符
    • 显示模块:
      显示模块没有很大的难度,就是根据Windows窗口句柄来设置输出的颜色等信息,展示一个彩色界面
    • 计算模块:
      计算模块就是根据处理后的字符串进行对应的计算,方法有很多,比较方便的是将输入的中缀表达式转换为后缀表达式,然后进行求值处理。比较关键的就是操作符优先级的处理规则

      为了方便计算,需要将中缀表达式转为后缀表达式,转换过程利用了栈

    采用主要的数据结构:栈、字符串

    主要代码

    /*计算表达式*/
    void calculateExpression(myStrs* expression, double* resultBuf, unsigned int* errBuf)
    {
    	for (int i = 0; i < expression->size; i++)
    	{
    		errBuf[i] = getValue(expression->data[i].str, &resultBuf[i]);
    	}
    }
    
    ERROR_TYPE getValue(const char* expression, double* result)
    {
    	ERROR_TYPE error;
    	if ((error = checkOperator(expression)) != NONE_ERROR) {
    		return error;
    	}
    	myStrs infix;
    	myStrs posfix;
    	myDoubleStack doubleStack;
    	initmyDoubleStack(&doubleStack);
    	initMyStrs(&infix, DEFAULT_SIZE);
    	initMyStrs(&posfix, DEFAULT_SIZE);
    	separateString(expression, " ", &infix);
    	if ((error = infixToPosfix(&infix, &posfix)) != NONE_ERROR)
    	{
    		return error;
    	}
    	for (int i = 0; i < posfix.size; i++)
    	{
    		if (!isContainOperator(posfix.data[i].str))//数字直接入栈
    		{
    			double num = atof(posfix.data[i].str);
    			pushmyDoubleStack(&doubleStack, num);
    		}
    		else {
    			if (strstr(posfix.data[i].str, "@")) {//((@4 + 2))
    				double a = popmyDoubleStack(&doubleStack);
    				pushmyDoubleStack(&doubleStack, sqrt(a));
    			}
    			else {
    				double a = popmyDoubleStack(&doubleStack);
    				double b = popmyDoubleStack(&doubleStack);
    				if (strstr(posfix.data[i].str, "+"))
    				{
    					pushmyDoubleStack(&doubleStack, b + a);
    				}
    				else if (strstr(posfix.data[i].str, "-")) {
    					pushmyDoubleStack(&doubleStack, b - a);
    				}
    				else if (strstr(posfix.data[i].str, "*")) {
    					pushmyDoubleStack(&doubleStack, b * a);
    				}
    				else if (strstr(posfix.data[i].str, "/")) {
    					if (a >= -DOUBLE_ZERO_NUM && a <= DOUBLE_ZERO_NUM)
    					{
    						return ERROR_DIVISOR_ZERO;
    					}
    					pushmyDoubleStack(&doubleStack, b / a);
    				}
    				else if (strstr(posfix.data[i].str, "^")) {
    					pushmyDoubleStack(&doubleStack, pow(b, a));
    				}
    			}
    		}
    	}
    	*result = topmyDoubleStack(&doubleStack);
    	destoryMyStrs(&infix);
    	destoryMyStrs(&posfix);
    	return NONE_ERROR;
    }
    
    /*中缀转后缀*/
    ERROR_TYPE infixToPosfix(myStrs* infix, myStrs* posfix)
    {
    	myCharStack charStack;
    	initmyCharStack(&charStack);
    	int index = 0;
    	char posfixBuf[MAX_BUF_LEN] = { 0 };
    	for (int i = 0; i < infix->size; i++)
    	{
    		char ch = infix->data[i].str[0];
    		if (!isContainOperator(infix->data[i].str))//数 或 括号
    		{
    			//如果是 括号
    			if (isParentheses(infix->data[i].str))
    			{
    				if (ch == '(')
    				{
    					pushmyCharStack(&charStack, ch);
    				}
    				else {// ')'
    					while (!isEmptymyCharStack(&charStack) && topmyCharStack(&charStack) != '(')
    					{
    						char topChar = popmyCharStack(&charStack);
    						posfixBuf[index++] = topChar;
    						posfixBuf[index++] = ' ';
    					}
    					if (isEmptymyCharStack(&charStack)) return ERROR_FORMAT;
    					else popmyCharStack(&charStack);
    				}
    			}
    			else {//是数字
    				strcat(posfixBuf, infix->data[i].str);
    				index += strlen(infix->data[i].str);
    				posfixBuf[index++] = ' ';
    			}
    		}//操作符
    		else {
    			//栈空 或者 栈顶是左括号 或者 优先级大于栈顶优先级,则入栈
    			while (!isEmptymyCharStack(&charStack) && topmyCharStack(&charStack) != '(' && lessOrEqualTop(ch, topmyCharStack(&charStack)))
    			{
    				char topChar = popmyCharStack(&charStack);
    				posfixBuf[index++] = topChar;
    				posfixBuf[index++] = ' ';
    			}
    			pushmyCharStack(&charStack, ch);
    		}
    	}
    	while (!isEmptymyCharStack(&charStack))
    	{
    		char topChar = popmyCharStack(&charStack);
    		posfixBuf[index++] = topChar;
    		posfixBuf[index++] = ' ';
    	}
    	if (strstr(posfixBuf, "("))
    	{
    		return ERROR_FORMAT;
    	}
    	separateString(posfixBuf, " ", posfix);
    	return NONE_ERROR;
    }
    

    可进一步设计方向

    1. 实现超大数的 +、-、*、/运算,例如:1821293854612893461023894562349817 * 2346189460234192384617361238946 = ?

      需要考虑问题:
      	直接采用C语言原本的基本数据类型long long int 计算,溢出怎么半?改怎样解决?
      
      采用字符串来存储数据
      
    2. 进一步完善交互界面设计

    3. 加入更多运算方式sin、cos

    4. Qt设计界面

    展开全文
  • Java课程设计报告---设计一个多功能计算器 存档资料存档资料 成绩成绩 课课 程程 设设 计计 报报 告告 书书 2010-- 2011 年度第 2 学期 所属课程名称所属课程名称 JavaJava 面向对象面向对象程序设计程序设计 题题 ...

    3a5429672e603c333e817469066cd8b7.gifJava课程设计报告---设计一个多功能计算器

    存档资料存档资料 成绩成绩 课课 程程 设设 计计 报报 告告 书书 2010-- 2011 年度第 2 学期 所属课程名称所属课程名称 JavaJava 面向对象面向对象程序设计程序设计 题题 目目 设设计计一个多功能计算器一个多功能计算器 分分 院院 电电 信信 分分 院院 专业班级专业班级 0909 信管信管班班 学学 号号 指导教师指导教师 20201111 年年 0606 月月 2323 日日 课课 程程 设设 计(计( 论论 文文 )任)任 务务 书书 一、课程设计(论文)题目一、课程设计(论文)题目 设设计计一个多功能计算器一个多功能计算器 二、课程设计(论文)工作自二、课程设计(论文)工作自 2012011 1 年年 0606 月月 1313 日起至日起至 2012011 1 年年 0606 月月 2 23 3 日止。日止。 三、课程设计(论文)的内容要求三、课程设计(论文)的内容要求 本应用程序继承自框架类(本应用程序继承自框架类(J JFrameFrame) ,此程序使用) ,此程序使用 FrameFrame 布局管理器布局管理器 BorderLayoutBorderLayout, 将单行文本框加入到 “, 将单行文本框加入到 “NorthNorth””区域, 包含各种按钮的面板区域, 包含各种按钮的面板 Panel Panel p p 加入到加入到””CenterCenter””区域。包含各种按钮的面板区域。包含各种按钮的面板 Panel pPanel p 采用采用 4 4 行行 5 5 列的网格列的网格 布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。同时注册按布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。同时注册按 钮事件监听器。如钮事件监听器。如Button bnew Button; b.addActionListenerButton bnew Button; b.addActionListener事件事件 监听器监听器 ;; 事件监听器中的事件处理方法事件监听器中的事件处理方法 void actionPeredActionEvent evtvoid actionPeredActionEvent evt 完成主要的按钮事件的处理。事件处理分以下几种情况数字按钮事件完成主要的按钮事件的处理。事件处理分以下几种情况数字按钮事件 ((””0 0””,,””1 1””,,””2 2””””8 8””,,””9 9””) 、运算符按钮事件() 、运算符按钮事件(”” ””,,”” ““,,””* *””,,””/ /””,,”” ””) 、正负号按钮事件() 、正负号按钮事件(””//- -““) 、小数) 、小数点按钮事件点按钮事件 ((””. .””) 、等号按钮事件() 、等号按钮事件(””””) 、求倒按钮事件() 、求倒按钮事件(””1/x1/x””) 、清) 、清零零按钮事按钮事 件件 ““C C”” 。。 第 3 页 共 18 页 在事件处理触发按钮事件时,要进一步分析,是重新开始计算时触发的按在事件处理触发按钮事件时,要进一步分析,是重新开始计算时触发的按 钮事件还是计算中间触发的按钮事件。钮事件还是计算中间触发的按钮事件。 计算器完成的是一个数学表达式,如计算器完成的是一个数学表达式,如3 32 2,所以可以采用一个链表,所以可以采用一个链表 ((LinkedListLinkedList 类)来存储数字或字符,如类)来存储数字或字符,如 3 3,,,,2 2 分别存储在链表中,最后分别存储在链表中,最后 运算时,可以一一取出来进行运算。运算时,可以一一取出来进行运算。 学生签名学生签名 20201111 年年 0606 月月 2 23 3 日日 课程设计(论文)评阅意见课程设计(论文)评阅意见 评阅人评阅人 职称职称 2020 年年 月月 日日 序号 项 目 等 级 优秀 良好 中等 及格 不及格 1 课程设计态度评价 2 出勤情况评价 3 任务难度评价 4 工作量饱满评价 5 任务难度评价 6 设计中创新性评价

    展开全文
  • 进行乘方、开方、指数、对数、三角函数、统计等方面的运算 使用计算器可进行加(+)、减(-)、乘(*)、除(/)、开方(sqrt)、百分数(%)、倒数(1/x)等简单算术计算。 如果按错可用(Backspace)键消去一次数值,再重新输入...
  • 多功能计算器 万能计算器 有助于学生学习,更能用于商业计算!!
  • 多功能计算器

    2013-09-22 02:51:52
    常用的工具;多功能科学计算器不是普通的软件计算器,适合高中或大学生
  • 一、计算器使用的状态 对于两类计算器来说,使用的是数值计算,所采用的状态是十进制状态: 1、学生计算器(KDT科灵通科学计算器):按模式键MODE选择进制状态或计算状态。 第一次屏幕显示Comp Sd Gre 1 2 3 普通计算...
  • 怎样把学生使用的计算器关掉

    千次阅读 2021-06-25 03:43:38
    2019-10-07阅读(129)先按shift键再按清除键就可以关掉啦计算器是现代人发明的可以进行数字运算的电子机器。自己看着计算器说的也算抄袭2019-10-07阅读(832)在任意幂数键的上方有一个开任意次方键,可以给任何一个数...
  • 小学生计算器上各种按键的作用

    万次阅读 2021-07-29 07:12:50
    (一)计算器各部分名称和功能键说明“ON/C”键——打开计算器,消除显示器上的值和计算指令。“OFF”——关闭计算器。“2ndF”键——表明选择了(第二)功能。“DEL”键——清除一个数字。如:要输入“9873”,发现错输...
  • 学生计算器调时间步骤如下:1、首先按下“时间”按钮,手动调到时间界面。2、然后,按下“设定”按钮,小时的数字开始闪烁。3、接着按下“上调”或者“下调”按钮,调整到所需要的小时。4、然后再次按下“设定”按钮...
  • 计算器各个键的功能

    千次阅读 2021-06-27 08:28:15
    我顺便说一下笔记本键盘的功能键:(相信使用笔记本的同学们还是很的)fn+esc开关音量fn+f1锁定机器fn+f2选择系统电源方案fn+f3休眠fn+f第一文库网4待机fn+f5关屏幕fn+f6减少亮度fn+f7增加亮度fn+f8无线开关fn+f9...
  • 单片机计算器

    2015-12-30 10:47:29
    简述单片机的计算器的代码和仿真文件。便于学生下载学习。
  • 学生计算器咋关机

    2021-06-19 06:06:20
    现代的电子计算器能进行数学运算的手持电子机器,拥有集成电路芯片,但结构比电脑简单得,可以说是第一代的电子计算机(电脑),且功能也较弱,但较为方便与廉价,可广泛运用于商业交易中,是必备的办公用品之一。...
  • C 语言实现计算器(可视化界面和多功能

    千次阅读 多人点赞 2021-05-29 23:32:08
    我是陈皮,一个在互联网 Coding 的 ITer,微信搜索「陈皮...今天在电脑看到大一学C语言时,实验课上写的计算器功能,挺有意思。所以在此分享给学C语言的学弟学妹,有2种版本,记得收藏保留! 简单版本计算器 简单版本.
  • 函数计算器1005b学生专用 多功能计算机科学函数型calculator scientific函数计算器1005b学生专用 多功能计算机科学函数型【产品简介】:本机适用于国家基础教育教材课程a:双行显示10 2位指数显示格式重现功能,多重...
  • 中学生计算器

    2021-07-08 01:57:32
    一款非常实用好用的手机计算器软件中学生计算器分享给大家强大的软件,完美快捷的输入方式,中学生计算器app拥有很函数公式计算功能,让你完美的完成各种考试作业的计算,功能多多。中学生计算器软件介绍隐私...
  • 前言手机中的计算器功能你多久用一次呢,我相信对于多数人来说计算器是一个低频使用软件。其原因可能是用不上计算功能也很可能是单一的计算功能并不能满足...Calckit —安卓多功能计算器01软件介绍CalcKit是一款强大...
  • . . . . . . 专业.专注 . 韶 关 学 院 课程设计论文 题 目多功能电子计算器设计 学生姓名 学 号 系院 ... 多功能电子计算器设计 摘要本设计是实现一个有四则运算及函数运算的多功能计算器它的硬件部分主要包括一个STC89
  • 学生计算器怎么储存数值

    千次阅读 2021-06-26 10:10:07
    1、先在计算器中输入想要计算的公式,例如7+8=15,接下来就是用字母代替已知的结果。2、计算结果出来之后,在屏幕上就会显示,接着按SHIFT键,再按STO再按A就是上方的红色大写字母,这个过程就是把结果存入计算机内...
  • ····多功能计算器

    2009-02-01 18:04:08
    多功能计算器 适用于中小学生的计算使用 是免费软件 我的QQ是676837674
  • 学生科学计算器

    2021-06-23 11:52:05
    详情学生科学计算器是一款功能很强大的数学计算器学生科学计算器可以计算很多学生学习过程中遇到的计算,功能完全免费使用,不用担心会收费,非常实用,非常适合平时经常使用计算器简单计算的学生们哦!学生科学...
  • 多功能科学图形计算器(Mathlab)是一款...多功能科学图形计算器(Mathlab)优点一,它不仅是一个精细的科学计算器,而且更重要的是,它在您输入过程中显示计算步骤,可以让学生观看和学习如何得出最终答案。二,它的...
  • 学生党对什么东西最头疼?解方程恐怕能获得提名!解方程计算步骤往往比较繁琐,很容易就出错,要如何才能应对这些方程?这款一键解方程计算器App可以帮到你!软件名称:解方程计算器软件版本:5.0.1软件大小:12.64...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,987
精华内容 2,794
关键字:

学生多功能计算器下载