资源简介
java代码实现中缀表达式转后缀表达式,并计算结果
代码片段和文件信息
package com.mrwang.calculator;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Stack;
public class Calculator {
//定义操作符常量
private final static char ADD = ‘+‘;
private final static char SUBTRACT = ‘-‘;
private final static char MULTIPLY = ‘*‘;
private final static char DIVIDE = ‘/‘;
public static void main(String[] args) {
// 获取输入的值
// “3+(1*2)-(5+2)“
Scanner in = new Scanner(System.in);
System.out.println(“请输入一个数学表达式:“);
String expression = in.nextLine();
String postfix = Calculator.infixToPostfix(expression);
System.out.println(postfix);
System.out.println(Calculator.calculator(postfix));
}
/**
* 该方法用来将中缀表达式(数学表达式)转为后缀表达式(逆波兰表达式)
* Infix to Postfix
* http://blog.fishc.com/2093.html/2#prettyPhoto 中缀表达式转后缀表达式
* http://blog.tpircsboy.com/acm/poj-1686/ 后缀表达式求值
* http://www.aijava.cn/13197.html
* @param infixPression
* @return
*/
public static String infixToPostfix(String infixexpression){
Stack S1 = new Stack();// 运算符栈
Stack S2 = new Stack();// 表达式栈
int len = infixexpression.length(); // 中缀表达式的长度
int index = 0;
while(index < len){ // 循环取出中缀表达式中的字符
char c = infixexpression.charAt(index);
switch(c){
case ‘(‘:
S1.push(c);
break;
case ‘)‘:
while(S1.peek() != ‘(‘) {
S2.push(S1.pop());
}
S1.pop();
break;
case ADD:
case SUBTRACT:
while(!S1.empty() && S1.peek() != ‘(‘) {
S2.push(S1.pop());
}
S1.push(c);
break;
case MULTIPLY:
case DIVIDE:
w
- 上一篇:JavaToExe,jar转exe
- 下一篇:Java实现KMeans点集文件
相关资源
- JAVA计算器268139
- Spring技术栈构建完整java前后台团购网
- Java计算器实验报告
- java后台实现用list接收重复的对象属性
- spring boot+mybatis+spring mvc整合开发超市
- ssm框架开发北大青鸟超市后台管理系
- 北大青鸟accp5.0java第六章理论加上机作
- springboot+shiro实现后端请求权限控制
- 《Java基础入门》_课后习题答案
- Java语言程序设计(基础篇) 机械工业
- 史上最强Android 开启照相或者是从本地
- 微信小程序前端和java后端
- Java简单计算器Swing版
- Android 后台实现录像,无页面
- java 简易计算器的实现
- unity移动端截图后保存至相册
- iOS日志框CocoaLumberjack 使用demo,包含
- 大文件上传的javawebuploader包括前台和
- 采用 JSF +后台Bean开发 大学学生管理系
- JAVA计算器源代码与WINDOWS的计算器长得
- Asp.net后台管理系统模板
- ueditor java开发前后端分离 后端代码
- C++程序设计语言特别版--课后习题源代
- 后台管理系统模版jsp页面版
- 后台抓取logcat
- 基于JAVA的动态八皇后游戏互动
- Java实现高级计算器
- Java Spring技术栈构建完整前后台团购网
- Spring Boot从前端到后台打造企业级博客
- jsp 项目的后台模板
评论
共有 条评论