Java实现四则混合运算计算器

需积分: 12 28 下载量 14 浏览量 更新于2024-11-09 1 收藏 3KB TXT 举报
"Java计算器 四则混合运算" 在Java编程中,实现一个能处理四则混合运算的计算器是一项常见的任务。这个特定的Java代码片段展示了如何解析和计算包含加法(+)、减法(-)、乘法(*)和除法(/)的混合运算字符串。下面将详细解释代码的主要部分和涉及的知识点。 首先,`calcuteMain`方法是主计算方法,接收一个混合运算字符串作为参数。这个方法的核心在于将字符串按照加号和减号分割成多个子串,然后对包含乘法和除法的子串进行预处理,最后按照运算符顺序完成四则运算。 1. **字符串分割**:`str.split("[+-]")` 使用正则表达式 `[+-]` 分割字符串,这样可以得到一个包含各个操作数及运算符的数组 `str1`。 2. **预处理乘除运算**:遍历 `str1`,检查每个子串是否包含除号或乘号。如果找到,就调用 `caculateUnder` 方法处理该子串,确保乘法和除法先于加法和减法执行。 3. **处理乘除运算的内部方法**:`caculateUnder` 方法接收一个包含乘法和除法的子串,同样使用正则表达式 `[/*]` 进行分割,得到操作数数组 `stds`。然后,将这些操作数转换为双精度浮点数并存储在 `stdd` 数组中,依次进行乘除运算。 4. **转换运算符**:在 `calcuteMain` 方法中,将原始字符串转换为字符数组 `stdfc`,以便处理运算符。创建一个新的字符数组 `stdf` 来存储仅包含加号和减号的新运算符序列。 5. **处理加减运算**:遍历 `stdfc`,遇到加号和减号时,将其添加到 `stdf` 中,并记录运算符的数量 `count`。这用于后续数组大小的调整。 6. **计算结果**:将处理后的操作数数组 `stdd` 与运算符数组 `stdf` 结合,从第二个元素开始,根据运算符执行相应的加法或减法运算,最终结果存放在 `stdd[0]` 中。 7. **返回结果**:将计算结果转换为字符串 `result` 并返回。 通过这种方式,代码实现了从字符串解析表达式、处理乘除运算优先级以及执行加减运算的过程,构建了一个简单的四则混合运算计算器。这个实现虽然简单,但对于理解基本的计算逻辑和处理字符串的技巧非常有帮助。在实际应用中,可能需要扩展以处理更复杂的表达式,如括号、负数、优先级等。