当前位置: 首页 > news >正文

国外建设短视频网站利辛做网站

国外建设短视频网站,利辛做网站,建设手机网站哪个平台比较好,大连白云小学网站建设栈还是用的上一篇的数组模拟栈,并在此之上增加了 判断是否是一个运算符的方法 获取运算符的优先级方法 计算结果方法 查看栈顶元素的方法 四个方法,具体代码如下: package com.ebiz.stack;/*** author YHj* create 2019-07-20 14:20* 数组模拟栈*/public class ArrayStack {pri… 栈还是用的上一篇的数组模拟栈,并在此之上增加了 判断是否是一个运算符的方法 获取运算符的优先级方法 计算结果方法 查看栈顶元素的方法 四个方法,具体代码如下: package com.ebiz.stack;/*** author YHj* create 2019-07-20 14:20* 数组模拟栈*/public class ArrayStack {private int maxSize;private int [] arr; //数组模拟栈 private int top -1;//构造方法,初始化数组public ArrayStack(int maxSize) {this.maxSizemaxSize;this.arr new int[maxSize];}//验证栈满public boolean isFull(){return top maxSize-1;}//验证为空public boolean isEmpty(){return top -1;}//入栈public void push(int value){if (isFull()){System.out.println(栈已满);return;}top;arr[top]value;}//出栈public int pop(){if(isEmpty()){throw new RuntimeException(栈已空);}int valuearr[top];top--;return value;}//遍历栈public void list(){if (isEmpty()){throw new RuntimeException(栈为空);}while (true){if (isEmpty()){System.out.println(栈为空);break;}System.out.printf(出站元素为%d%n,arr[top]);top--;}}//返回运算符的优先级 优先级用数字表示//数字越大,代表优先级越高// *或者/ 优先级为1// 或者- 优先级为0// -1 代表运算符为问题运算符public int priority(int operator){if (* operator || / operator){return 1;}else if ( operator || - operator){return 0;}else{return -1;}}//判断是否为一个运算符public boolean isOperator(char operator){return operator || operator - || operator * || operator /;}//计算方法public int calculator(int num01,int num02,int operator){//用于存放计算结果int result0;switch (operator){case :result num01num02;break;case -:result num02-num01;break;case *:result num01*num02;break;case /:result num02/num01;break;default:break;}return result;}//获取符号栈的栈顶符号,并不是真正取出该元素public int peek() {return arr[top];} } 下面给出测试,中缀表达式提前给定好,只涉及到了两位数,对于小括号还有小数点后面会将中缀转为后缀,便于计算 package com.ebiz.stack;/*** author YHj* create 2019-07-22 11:04* 栈模拟计算器 中缀表达式*/ public class Calculator {public static void main(String[] args) {//表达式//String expression 502*6-2;String expression 5-2*31;//创建数字栈ArrayStack numeStack new ArrayStack(10);//创建运算符栈ArrayStack operatorStack new ArrayStack(10);//初始化索引,用于扫描表达式int index 0;int num01 0;int num02 0;int operator ; //定义运算符int res 0; //存放结果char ch ; //将每次扫描得到的char保存到ch// 定义字符串,拼接多位数String str;while (true){//开始扫描表达式,并判断是数字还是符号chexpression.substring(index,index1).charAt(0);//如果为运算符if (operatorStack.isOperator(ch)){//判断符号栈是否为空 符号栈不为空if (!operatorStack.isEmpty()){//判断符号优先级 当前符号优先级小于或者等于符号栈顶的符号的优先级,//从数字栈弹出两个数字,符号栈弹出栈顶符号,进行计算,结果加入数字栈,当前符号加入符号栈if (operatorStack.priority(ch) operatorStack.priority(operatorStack.peek())){num01numeStack.pop();num02numeStack.pop();operatoroperatorStack.pop();//进行计算resnumeStack.calculator(num01,num02,operator);operatorStack.push(ch);numeStack.push(res);}else { //当前符号的优先级大于符号栈顶的符号的优先级,则直接加入符号栈operatorStack.push(ch);}}else { //符号栈为空operatorStack.push(ch);}}else {//不是运算符 直接进入树栈//ASCII表, 查出来的是1 对应的十进制为49//numeStack.push(ch-48);//某一字符为多位数时,需要当成字符串处理strch;//判断ch是否为最后一个字符if (index expression.length()-1){numeStack.push(Integer.parseInt(str));}else {//判断下一位是否是字符,下一位是字符,则将当前拼接字符串存入数字栈if (operatorStack.isOperator(expression.substring(index1,index2).charAt(0))){numeStack.push(Integer.parseInt(str));//把str 清空str ;}}}//继续扫描,索引增加,并判断是否到最后index;if (index expression.length()){break;}}//表达式扫描完毕后,对两个栈中元素进行计算while (true){num01numeStack.pop();num02numeStack.pop();operatoroperatorStack.pop();numeStack.push(numeStack.calculator(num01, num02, operator));//判断结束if (operatorStack.isEmpty()){break;}}//输出结果System.out.println(resultnumeStack.pop());}}   转载于:https://www.cnblogs.com/jiushixihuandaqingtian/p/11241049.html
http://www.sadfv.cn/news/134563/

相关文章:

  • 网站开发哪家专业简述常用的网络营销方法
  • 网站建设站点无法发布如何做学校网站app
  • 阿里指数官方网站app运营费用预算
  • php网站好处厦门网站建设建网站
  • 南宁网站开发价格免费网站如何被百度收录
  • 山西建站推广wordpress 本机模拟
  • 上海建设局官方网站深圳建设工程交易服务中心网站
  • 锟鹏建设招聘网站大型外贸网站策划
  • 医院招聘网站建设和维护wordpress导出数据库结构
  • 网站版心怎么做网站开发劳动合同范本
  • 济南网站建设网络公司策划推广公司
  • 微信小程序开发价格苏州seo网站推广公司
  • 二手车网站开发多少钱朝阳免费网站制作
  • 新闻类网站开发多久安徽阜阳网站建设
  • 学年论文网站建设进入4399电脑网页版
  • 2017做网站赚钱网站建设试卷
  • 东营市两学一做考试网站app推广多少钱一个
  • 网站设计公司网站制作费用苏州企业网站推广
  • mvc网站开发 案例视频广元建设公司网站
  • 网站开发怎样验收中国建设工程网站
  • 电商网站为什么要提高网站友好度深圳宝安区医院
  • 小程序开发教程百度网盘资源seo搜索引擎优化薪资
  • 简单的网站开发软件信息网络犯罪
  • 遵义城乡和住房建设厅网站温岭网站设计
  • 网站数据库 权限设计郑州做软件开发的公司
  • 网站标题乱码赤壁专业建站公司
  • 桂林做网站哪家好网站建设公司哪个好
  • 慈云寺网站建设已将绑定域名给另一个网站
  • 项目网站有哪些上海市建设工程咨询协会
  • 中文旅游网站html模板国家备案网查询