使用java代码实现计算器功能,可解决:

224.基本计算器
227.基本计算器II
772.基本计算器III

代码如下

class Solution {public int calculate(String s) {Deque<Character> deque = new LinkedList<>();for(int i = 0; i < s.length(); i++){//入队的时候就把空格排除在外,省的接下来再额外判断if(s.charAt(i) != ' '){deque.addLast(s.charAt(i));}}return helper(deque);}//递归调用,将括号里的当作一个数private int helper(Deque<Character> deque){ Deque<Integer> stack = new LinkedList<>();char sign = '+';int num = 0;while(deque.size() > 0){char c = deque.removeFirst();if(isdigit(c)){num = num * 10 + (c - '0');}if(c == '('){num = helper(deque);}if(!isdigit(c) || deque.size() == 0){if(sign == '+'){stack.addLast(num);}else if(sign == '-'){stack.addLast(-num);}else if(sign == '*'){int pre = stack.removeLast();stack.addLast(pre*num);}else if(sign == '/'){int pre = stack.removeLast();stack.addLast(pre/num);}num = 0;sign = c;}if(c == ')'){break;}}int res = 0;while(stack.size() > 0){int top = stack.removeLast();res += top;}return res;}private boolean isdigit(char c){if(c >= '0' && c <= '9'){return true;}return false;}
}

JAVA代码实现计算器功能相关推荐

  1. python调用计算器卡死_Python+tkinter使用40行代码实现计算器功能

    本文实例为大家分享了40行Python代码实现计算器功能,供大家参考,具体内容如下 偶尔用脚本写点东西也是不错的. 效果图 代码 from tkinter import * reset=True de ...

  2. JAVA代码实现抽奖功能,自定义奖品以及奖品概率

    JAVA代码实现抽奖功能,自定义奖品以及奖品概率 大家好,我是梦辛工作室的灵,最近做了一个抽奖功能,然后自己为了以后方便和拓展 就封装了一下,可以自定义奖品 自定义权重 和 价格等信息,还可以自由设置 ...

  3. 大数据 java 代码示例_功能Java示例 第7部分–将失败也视为数据

    大数据 java 代码示例 这是称为" Functional Java by Example"的系列文章的第7部分. 我在本系列的每个部分中开发的示例是某种"提要处理程序 ...

  4. 【计算机网络 15】简单几行Java代码实现迅雷功能,java流式编程原理

    public static void main(String[] args) throws Exception { //1.创建一个socket连接 Socket socket = new Socke ...

  5. java屏幕快速截图,java代码实现截图功能(屏幕截图)

    代码如下: import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.T ...

  6. Java代码实现点赞功能

    场景 个人搭建的一个美食教程网站,每个美食教程的详细页面有一个点赞按钮,每个用户可以通过点击按钮来点赞与取消点赞,并可以看见当前菜品有多少个赞. 实现思路 因为点赞与取消点赞是一个在页面上用户操作比较 ...

  7. java简单实现计算器功能

    设计一个简单的计算器程序.从键盘输入2个操作数,1个运算符,运算符为加(+).减(-).乘(*).除(/)时,输出计算结果  输入:3 4   +   输出:   7 import java.util ...

  8. java编写简易计算器_java实现简易计算器功能

    本文为大家分享了java实现简易计算器功能,具体内容如下 题目: 编写一个模拟计算器的程序.在面板中添加一个文本框(显示按键及运算结果). 10个数字按钮(0~9).4个运算按钮(加.减.乘.除).一 ...

  9. eclipse中设置java、xml文件的字体大小以及代码自动提示功能

    设置字体大小: 在菜单windows-->prefereces里面,找到General-->Appearance-->Colors and Fonts, 设置xml文件字体大小:找B ...

  10. java build path entries 为空_TOOLFK工具-在线JAVA代码执行工具

    本文要推荐的[TOOLFK]在线JAVA代码执行工具 ,提供JAVA代码在线执行功能. 網站名稱:ToolFk 網站鏈結:https://www.toolfk.com/ 工具链接:https://ww ...

最新文章

  1. Python-EEG工具库MNE中文教程(5)-机器学习算法随机森林判断睡眠类型
  2. 产品问答 | PM最应该花时间做这件事……
  3. 什么叫静态构建版本号码_为什么要使用GatsbyJS构建静态网站
  4. 及时沟通的重要性_沟通与代码同样重要
  5. redisb并发访问慢出现的问题
  6. Spring Boot swagger之前后端分离
  7. SYSTEM INSTRUCTIONS | 系统指令
  8. 不可磨灭的记忆 CPU发展史经典回顾
  9. 学习数学到底有什么用?
  10. 30. 确保目标空间足够大
  11. 已知弧长计算器_半径弧长计算软件 弧长弦长求半径计算器
  12. 土地土壤数据下载网站整理
  13. Jvm虚拟机下载和安装教程
  14. AI 视频分析识别系统技术分析
  15. 阻滞增长模型求解_马尔萨斯与阻滞增长模型对于人口预测的分析
  16. Java利用POI生成Word、Excel文档转换成PDF,PDF转换成图片
  17. 我的第一个Imx6ULL应用《百度图像识别》
  18. 11.什么是Heuristic
  19. matlab海底地形数据,海底地形建模器
  20. uva 1395 Silm Span 【MST-Kruskal】

热门文章

  1. JAVA----流的浅谈之一低级流
  2. 基于python物流管理系统毕业设计-python实现快递价格查询系统
  3. safari打不开cookies_从Mac和iOS上的safari阻止cookies的设置方法
  4. 安卓开发调用python脚本_android开发调用python脚本
  5. python随机生成电话号码
  6. [翻译] LaTeX Error: Can be used only in preamble
  7. spss 描述性分析
  8. UML 返回消息的虚线箭头 如何画
  9. homelede软路由设置方法_小米路由器3 5G WiFi设置方法
  10. 超分辨重建-Bicubic双三次线性插值opencv实现