长话短说,直接进入正题。
首先是对于用户输入的字符进行过滤,滤掉那些我们目前认为非法的字符。目前我的程式提供+、-、*、/、^、(、)以及数字(包括小数),所以我们就把那些不要的去掉。大家不要害怕啊,到后面大家会发现,我们思路的漏洞导致了对于小数、^乘方的解决方案。
怎么过滤呢,我用了一个比较垃圾且猥琐的方法--没用的就删掉,个人认为唯一的优点就是简单、且不顾用户生死感受。
那么该怎么去实现呢?
就是对输入的字符串s进行扫描,如果不是合法字符就删掉。那么我们如何存储合法字符呢?很简单就是用一个数组。
n:
=
length[expression]
for
i:
=
n downto
1
do
if
expression[i] is the illegal character then
delete the character i
-
th in the expression
return
expression
以上我是采用类PASCAL的伪代码编写的,大家可以根据自己使用的语言进行改造。
大家要注意一点就是为什么我们是从后面往前面去删除那些非法字符呢?这个留给大家自己思考,我提供几个测试样例:
1
+t2*
4
t is the illegal character
1
+ttt2*
4
the three t is the illegal characters
the result is
1
+
2
*
4
大家可以自己测试一下这些数据,对于前面那个应该是没有什么问题的,至于后面那个如果处理不当可能会出现没有过滤完全的问题。
如果顺序不当可能会导致错误甚至是抛出异常。
最后提醒大家注意:边界问题!!!
关于如何制作合法字符表:
就是建立一个数组,初始化数据,使用时就是遍历一遍这个表就好了。
'0','1','2','3','4','5','6','7','8','9','.','^','*','/','+','-','(',')'
分享到:
相关推荐
加法运算计算器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编程学习过程中的一个重要实践,它涵盖了GUI编程、事件处理、数学运算等多个核心知识点,对于提升开发者的技术能力和编程思维具有很大帮助。
在Java编程语言中实现一个简易计算器是一项常见的学习任务,它能帮助初学者更好地理解面向对象编程的概念、控制流程以及输入/输出操作。下面我们将详细探讨如何实现这样的计算器,并结合提供的"计算器"文件名称来...
本资源是一个使用 Java 语言开发的模拟微软计算器,分为标准版和科学版。下面是对该资源的详细分析和知识点总结。 Java 基础知识 * 在 Java 中,`package` 语句用于指定类的命名空间。 * `import` 语句用于引入...
### Java语言课程设计-计算器制作相关知识点解析 #### 一、系统需求分析 **1.1 系统名称** - **名称**: 带函数功能和数制转换功能的计算器 **1.2 系统介绍** - **功能概述**: - **连续运算与算符优先级**: 用户...
Java版计算器的实现涉及到许多Java编程的基础概念和技术。在这个项目中,我们主要关注以下几个关键知识点: 1. **基本语法和结构**:Java程序通常由一个或多个类组成,每个类包含方法和变量。`wCalculator.java` ...
在Java编程中,创建一个计算器应用是一个经典的练习,它涵盖了GUI(图形用户界面)设计、事件处理和基本的算术运算。在这个项目中,我们将深入探讨如何利用Java的AWT和Swing库来构建一个简单的计算器。首先,我们来...
学校派去实习,竟然培训java,本来不想那么快学java的,没办法,好像我学一种新语言就要编计算器,当然其实我还是最喜欢C++。这个计算器用java语言编写的,本来在eclipse上开发,但后来转移到自己笔记本上用的时候用...
java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器java计算器
【Java版仿Windows计算器】是基于Java编程语言实现的一个计算器应用程序,它旨在模仿Windows操作系统中的标准计算器功能。这个项目不仅提供了基本的计算功能,还可能包括了对复杂数学运算的支持,比如科学计算模式、...
【标题】"简易计算器.rar" 是一个基于Java编程语言实现的简单计算器项目,它涵盖了基本的加、减、乘、除等数学运算。这个计算器旨在为初学者提供一个理解Java编程逻辑和控制流程的实例。 【描述】"简易的JAVA计算器...
一个java的计算器一个java的计算器一个java的计算器一个java的计算器一个java的计算器一个java的计算器
在本项目中,"Java复杂计算器的实现(改进版)"是一个高级的编程实践,它旨在构建一个功能丰富的计算工具,能够处理复杂的数学运算。这个计算器不仅支持基本的加、减、乘、除,还可能包含对数、指数、平方根、三角...
【JAVA制作的计算器】 在Java编程语言中,SWING库是一个用于构建图形用户界面(GUI)的工具包,它提供了丰富的组件和功能,使得开发者能够创建出功能完备的应用程序,如我们这里提到的计算器。本项目是利用JAVA ...
请下载java netbeans 科学计算器(最终版)可BAIDU,可csdn 搜请下载java netbeans 科学计算器(最终版)可BAIDU,可csdn 搜请下载java netbeans 科学计算器(最终版)可BAIDU,可csdn 搜请下载java netbeans 科学...
### Java版简易计算器程序设计知识点解析 #### 一、项目概述 本项目为一个简易计算器的设计与实现,采用Java语言开发。该计算器具备基本的算术运算功能,并且集成了记忆存储功能,能够满足日常计算的基本需求。项目...
【标题】"仿微软计算器 java 版"是一个项目,它旨在通过Java编程语言实现一个功能类似于微软操作系统内置计算器的应用程序。这个计算器不仅包含了基础的加、减、乘、除等运算,而且还添加了求解方程和绘制函数图形的...
在Java编程领域,创建一个简单的计算器界面版是一个常见的学习任务,它可以帮助初学者理解面向对象编程、事件处理以及图形用户界面(GUI)设计的基本概念。本项目使用Java语言实现了一个功能基础但完整的计算器,...