实在是不好意思,也不知道前一段时间在忙些什么,映象中就是吃饭和睡觉了,不知不觉就已经开学过了两个星期了 。记得第一周老师要求了一个作业--编写计算器,身为班级一员有必要给大家解析一下这个题目。而且个人感觉作为一个学生给人讲程式、讲算法,不仅仅是共享一下代码就算完了,而是要引导大家去解决这个问题。更多的是提供现阶段广大同学的知识水平和编码水平相适应的解题报告。不过,我不太喜欢什么上来就是做题啊,解题啊的,所以以后更多的会用技术讨论性的词句了。好了,闲话说了这个多了,开始进入正题吧。
当我们面对这样一个看似简单,越想越复杂的题目时,得通过逐步分块逐步求精的思路方法。一般我们看到这个题目时候会逐步想起哪些东西呢?我不知道大家的想法,我的思路是这样乱成一团的:一个计算器就是计算一个表达式嘛,一个一个计算就好了;不对,因为加减乘除的优先级问题,又得优先计算乘除法;然后呢,好像还有括号吧,那又优先计算括号里面的内容了,括号里面又是一个形如前面的形式,咋成了一个递归定义的无限了呢!而且我们还没有考虑什么乘方啊,三角函数、算式中间有一些非法符号、括号不匹配什么的。这种情况下,就得赶快停下来,不能一口吃个胖子吧。记得高中信息学奥赛的时候就是栽在这道题上的。
那么下面几篇文章就会一步一步来解读这个程式。
我用三块来将程式划分开。
首先,我们知道需要计算一个表达式就得保证这个表达式中没有非法字符 像什么空格呀、缩进符等等。
其次,我们要保证表达式结构的正确性,主要是括号匹配、运算符、操作数(其实就是数字,那些学者就会用专业词汇吓唬人。)的位置正确性。
最后,才是计算表达式。
注意:我们的注意力应该在处理表达式的问题上面,所以大家不要为那些GUI界面和外围设备投入大量精力,没有什么意义。网上大部分采用的是后缀表达式求值等类似方法,既然大家没学,我们不会采用这种方法解答;另外有些同学听到一些新的名词--栈,就觉得很难,其实没有,在随后的解析过程中,我们会发现,这种数据结构会因为解答本程式的需要,会自己浮现到我们面前,所以不用担心;再则是,要学会自己想办法,在随后的文章中,大家会发现,只要是懂得基本的编程规则,解决这个问题是没有困难的(要不然我们高中那会没有这么多专业术语,咋搞啊)。
补充两句,如果有哪些地方可以加评论询问,本人表达能力有限所以这个学期选个语文好好补补。并且我发现如果无法将自己所学的知识表达出来并且让他人听懂是不算一个好学生的。
分享到:
相关推荐
加法运算计算器java版加法运算计算器java版加法运算计算器java版加法运算计算器java版加法运算计算器java版
java简易计算器 java简易计算器 java简易计算器java简易计算器 java简易计算器 java简易计算器java简易计算器 java简易计算器 java简易计算器java简易计算器 java简易计算器 java简易计算器java简易计算器 java简易...
计算器(Java版)是一款基于图形用户界面(GUI)开发的应用程序,它模仿了Windows操作系统自带的计算器功能。这个程序提供了一种简洁的方式来进行基本的数学运算,包括加、减、乘、除,以及一些扩展的功能,如求平方...
【JAVA版的WINDOWS计算器】 在计算机编程领域,Java是一种广泛使用的高级编程语言,以其跨平台性和面向对象的特点深受开发者喜爱。本项目是基于Java实现的一个仿Windows附件中的计算器程序,旨在提供基本的数学运算...
学校派去实习,竟然培训java,本来不想那么快学java的,没办法,好像我学一种新语言就要编计算器,当然其实我还是最喜欢C++。这个计算器用java语言编写的,本来在eclipse上开发,但后来转移到自己笔记本上用的时候用...
### Java语言课程设计-计算器制作相关知识点解析 #### 一、系统需求分析 **1.1 系统名称** - **名称**: 带函数功能和数制转换功能的计算器 **1.2 系统介绍** - **功能概述**: - **连续运算与算符优先级**: 用户...
本资源是一个使用 Java 语言开发的模拟微软计算器,分为标准版和科学版。下面是对该资源的详细分析和知识点总结。 Java 基础知识 * 在 Java 中,`package` 语句用于指定类的命名空间。 * `import` 语句用于引入...
在Java编程语言中实现一个简易计算器是一项常见的学习任务,它能帮助初学者更好地理解面向对象编程的概念、控制流程以及输入/输出操作。下面我们将详细探讨如何实现这样的计算器,并结合提供的"计算器"文件名称来...
java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器
【标题】"简易计算器.rar" 是一个基于Java编程语言实现的简单计算器项目,它涵盖了基本的加、减、乘、除等数学运算。这个计算器旨在为初学者提供一个理解Java编程逻辑和控制流程的实例。 【描述】"简易的JAVA计算器...
在Java编程中,创建一个计算器应用是一个经典的练习,它涵盖了GUI(图形用户界面)设计、事件处理和基本的算术运算。在这个项目中,我们将深入探讨如何利用Java的AWT和Swing库来构建一个简单的计算器。首先,我们来...
在本项目中,"Java复杂计算器的实现(改进版)"是一个高级的编程实践,它旨在构建一个功能丰富的计算工具,能够处理复杂的数学运算。这个计算器不仅支持基本的加、减、乘、除,还可能包含对数、指数、平方根、三角...
【Java版仿Windows计算器】是基于Java编程语言实现的一个计算器应用程序,它旨在模仿Windows操作系统中的标准计算器功能。这个项目不仅提供了基本的计算功能,还可能包括了对复杂数学运算的支持,比如科学计算模式、...
【Java桌面程序——计算器开发详解】 Java是一种广泛使用的编程语言,尤其在开发桌面应用程序时,其跨平台的特性使得开发者可以编写一次代码,到处运行。本篇将详细讲解如何使用Java来开发一个简单的计算器程序。 ...
标题“java 最终仿windows标准计算器 英杰”和描述中的关键词表明,这是一个用Java编程语言实现的项目,目标是模仿Windows操作系统中的标准计算器。这个项目可能是为了学习和实践Java GUI(图形用户界面)编程,或者...
请下载java netbeans 科学计算器(最终版)可BAIDU,可csdn 搜请下载java netbeans 科学计算器(最终版)可BAIDU,可csdn 搜请下载java netbeans 科学计算器(最终版)可BAIDU,可csdn 搜请下载java netbeans 科学...
【标题】"仿微软计算器 java 版"是一个项目,它旨在通过Java编程语言实现一个功能类似于微软操作系统内置计算器的应用程序。这个计算器不仅包含了基础的加、减、乘、除等运算,而且还添加了求解方程和绘制函数图形的...
请下载java netbeans 科学计算器(最终版)可BAIDU,可csdn 搜请下载java netbeans 科学计算器(最终版)可BAIDU,可csdn 搜请下载java netbeans 科学计算器(最终版)可BAIDU,可csdn 搜请下载java netbeans 科学...
【计算器(Java版)】是一个基于Java编程语言开发的计算器应用程序。这个程序展示了Java在创建交互式用户界面和处理计算逻辑方面的应用。Java作为一种多平台的、面向对象的编程语言,因其强大的功能和广泛的应用而受到...
Java计算器源码是一个典型的编程示例,展示了如何在Java中实现一个简单的计算器程序。这个程序能够执行基本的数学运算,包括加法、减法、乘法和除法,并且能够处理括号内的嵌套运算,这涉及到计算的优先级问题。下面...