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

珠海住房和建设局网站天梭手表官方网站

珠海住房和建设局网站,天梭手表官方网站,企业邮箱与个人邮箱有什么区别,品牌网站建设k小蝌蚪题目描述#xff1a; 给你一个字符串表达式 s #xff0c;请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。 你可以假设给定的表达式总是有效的。所有中间结果将在 [-231, 231 - 1] 的范围内。 注意#xff1a;不允许使用任何将字符串作为数学表达式计… 题目描述 给你一个字符串表达式 s 请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。 你可以假设给定的表达式总是有效的。所有中间结果将在 [-231, 231 - 1] 的范围内。 注意不允许使用任何将字符串作为数学表达式计算的内置函数比如 eval() 。 解题思路 使用栈数字栈 思路* / 直接算 - 后面再算最后只剩 -再while(!numStack.isEmpty){计算加减就行} 1.1 遍历字符串是数字直接放到数字栈 1.2 若遇到字符若是 * /则从栈中弹出一个num进行计算 若是 则直接压入栈中 若是 -则变成相反数再直接压入栈中 1.3 最后遍历数字栈将所有数字求和即为表达式的结果 import java.util.Stack;/*** author: Arbicoral* Description: 输入字符串 “32*2”求结果。*/ public class KuaiShou {public static void main(String[] args) {String s 3323*2-33-53/5;System.out.println(s calculate1(s));System.out.println(s calculate2(s));}/*** 使用栈数字栈* 思路* / 直接算 - 后面再算最后只剩 -再while(!numStack.isEmpty){计算加减就行}* 1.1 遍历字符串是数字直接放到数字栈* 1.2 若遇到字符若是 * /则从栈中弹出一个num进行计算若是 则直接压入栈中若是 -则变成相反数再直接压入栈中* 1.3 最后遍历数字栈将所有数字求和即为表达式的结果* return 表达式的结果*/public static int calculate2(String expression) {int num 0;int len expression.length();StackInteger numStack new Stack();// 数字栈char operator ;// 要放到循环的外面如果放到里面则每次的操作符都是 而我们只需要第一次是 即可后面都要不断更新的for (int i 0; i len - 1; i) {char c expression.charAt(i);if (Character.isDigit(c)){num num * 10 (c - 0);}if (!Character.isDigit(c) c ! || i len-1){switch (operator) {case - numStack.push(num);case - - numStack.push(-num);case * - numStack.push(numStack.pop() * num);case / - numStack.push(numStack.pop() / num);}// 重置 num 和 操作符 注意不能放到 if 外面不然每读取表达式中的一个字符num 和 operator都会变而我们只需要operator不是数字num 0;operator c;}}// 出 for()此时栈中只剩下 -操作int res 0;while (!numStack.isEmpty()){res numStack.pop();}return res;}/*** 思路将字符串中的操作符全部变成 即遇到 - 的则再取一个然后变成对应的负数遇到 * / 就直接计算最后将栈中的所有数相加即可*/public static int calculate1(String expression) {StackInteger stack new Stack();int num 0;char operation ;for (int i 0; i expression.length(); i) {char c expression.charAt(i);if (Character.isDigit(c)) {num num * 10 (c - 0);}if (!Character.isDigit(c) c ! || i expression.length() - 1) {if (operation ) {stack.push(num);} else if (operation -) {stack.push(-num);} else if (operation *) {stack.push(stack.pop() * num);} else if (operation /) {stack.push(stack.pop() / num);}num 0;operation c;}}int result 0;while (!stack.isEmpty()) {result stack.pop();}return result;} }
http://www.hkea.cn/news/14408373/

相关文章:

  • 上海网站建设公司网深圳网站建设哪家公司好
  • 建设学校网站需要具备wordpress安装音乐插件怎么用
  • 浅谈电子商务网站建设与管理的理解网站设计建设趋势
  • 做网站需要审批不小说网站推广方式
  • 个人网站名字专做品牌的网站
  • 江苏专业做网站的公司有哪些凡客诚品的经营特色
  • 中山模板建站公司服务器2003系统如何建设网站
  • 网站建设顾问站建北京app手机网站制作
  • 免费搭建业务网站qq推广方法
  • 网站开发类合同长沙哪里有网站制作
  • 怎么做链接网站短网址赚钱平台
  • 天津西青网站建设公司洛阳建网站公司
  • 网站开发项目经验济南高风险区最新通告
  • 江苏省建设局报考网站赣州新闻联播2023
  • WordPress网站主题升级新西兰网站开发专业
  • 淘宝客网站可以备案吗泰安深度网络科技有限公司
  • 网站运营与建设方案专业简历制作网站有哪些
  • 物流行业网站建设方案如何防止网站被注入黑链
  • 网站封装网站开发技术文档
  • 婚恋网站全网营销型网站新闻
  • 图书馆网站建设的项目报告坪山网站建设渠道
  • 网站备案没有了做网站会员登陆
  • html网页超链接代码莆田百度seo公司
  • 网站的修改东莞百度网站优化
  • 大连网站制作推广深圳建筑公司招聘信息
  • 山东省建设厅网站是自己怎样做网站文章关键词内链
  • 阜宁网站制作价格设计制作散发寄递销售展示使用
  • 山东建设厅网站 高英山东省住房和建设网站首页
  • 网站主题设计特色广告推销网站
  • 网站运维托管广州设计公司网站