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

网站目录模板免费的app软件大全

网站目录模板,免费的app软件大全,找哪些公司做网站,网站建设 青岛题目描述#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.yutouwan.com/news/188131/

相关文章:

  • 商业网站的建设流程做网站的内容样本
  • 安阳网站设计哪家好免费网站制作在线
  • 建网站空间购买小小影院免费高清电视剧
  • 青岛网站建设开发页面设计好吗
  • 无锡自助建站网站网站建设好后能直接打开吗
  • 白沙网站建设的基本情况wordpress重定向次数过多310
  • 做机械设备哪个网站好wordpress安装完成
  • WordPress多站點支付插件做动画的动作库网站
  • 长治网站公司和网站建设签合同
  • 网站品牌形象设计怎么做温州品牌推广
  • wordpress直接访问站点wordpress 顶部菜单
  • 郑州制作网站句容网站建设
  • 一个虚拟主机空间挂两个网站全国企业信用信息公示系统辽宁
  • 东莞营销型网站哪家好南平市建设集团网站
  • 女包建设网站前的市场分析网站建设 朝阳区
  • 电子商务网站建设的教案南京网站制作哪家好
  • html5建设的网站热门关键词
  • 莆田网站建设制作玉溪网站设计
  • 截图域名网站.推广赚钱app排行榜
  • 可以下载的建站网站上海备案证查询网站查询
  • 做kegg的网站代写文章的平台有哪些
  • 百度如何才能搜索到你的网站广州网站制作(信科网络)
  • 移动商城 网站建设方法方式丹阳网站建设开发
  • 企业门户网站建设与发展趋势网站开发工程师面试试题
  • 设计理念网站物流公司做网站
  • 做免费小说网站怎样赚钱城乡住房和城乡建设部网站
  • 鞋材 技术支持 东莞网站建设手机可以做网站吗?
  • 浦口区建设局网站成都市公共资源交易服务中心
  • 网站开发与网站建设黑帽seo技术有哪些
  • 做标准件网站建设网站需要什么