⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 27.txt

📁 是一个 java 基础学习软件 有设计说明
💻 TXT
字号:
/**
四.计算四则运算表达式运算结果(高级)
知识点:
2	一维数组
2	Stringàint数据类型转换(Integer类)
2	堆栈数据结构的使用
问题描述:
	表达式计算是实现程序设计语言的基本问题之一,也是数据结构在程序中的典型应用。
目标/基本功能要求:
1.	按照算符优先关系,实现对算术四则混合运算表达式的求值。
2.	处理的对象是以字符序列的形式(Java String)给出语法正确的、不含变量的整数表达式。
说明/提示:
1.	常规约定的算符优先关系?    (  *  /  + - )
2.	为实现算符优先算法,可使用两个堆栈分别寄存运算符和运算数(中间结果),算法的基本思想是:
1)	首先置操作数栈(S1)为空栈,表达式起始符'#'设为运算符栈(S2)的栈底元素;
2)	依次读入表达式中的每个字符,若是数字则连接在一起转换为int型操作数进S1栈;若是运算符,则和S2栈的栈顶运算符比较优先权后做相应操作,直至整个表达式表达式求值完毕(即S2栈的栈顶元素和当前读入的字符均为'#')。

扩充功能:
1.	对输入任意四则表达式字符串,判断其中是否合法,如非法,输出报错信息,如合法则计算并输出运算结果,同时将结果返回;
2.	将运算数类型扩充至浮点型。

*/
import java.lang.*;
import java.io.*;

public class Opration2Test
{
	public static void main(String[] args)
	{
	//	String s = "-(90-12)/6+50*(6*(4-1)-12)/(12-2*3)";
		
		Opration2Test stack = new Opration2Test();		
		String s = stack.readString();
		if(stack.isValid(s)) {
			System.out.print(" 表达式字符串

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -