笔记

package com.daidai.day4.demo1;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner; public class HelloWorld{
public static void main(String args[]){
String a;
int buf=0;
a=new Scanner(System.in).nextLine().trim().replace(" ","");
ArrayList<Integer> number=new ArrayList<Integer>();
ArrayList<String> op=new ArrayList<String>();
for(int i = 0; i<a.length(); i++){
if(a.charAt(i)>='0'&&a.charAt(i)<='9') {
buf = buf * 10 + (a.charAt(i) - '0');
if(i==a.length()-1){
number.add(buf);
}
}else{
if(op.isEmpty()){
number.add(buf);
op.add(a.charAt(i)+"");
}else{
if(op.get(op.size()-1).equals("*")){
number.set(number.size()-1,number.get(number.size()-1)*buf);
op.remove(op.size()-1);
op.add(a.charAt(i)+"");
}else if(op.get(op.size()-1).equals("/")){
number.set(number.size()-1,number.get(number.size()-1)/buf);
op.remove(op.size()-1);
op.add(a.charAt(i)+"");
}else{
number.add(buf);
op.add(a.charAt(i)+"");
}
}
buf=0;
}
}
while(!op.isEmpty()){
if(op.get(op.size()-1).equals("+")){
number.set(number.size()-2,number.get(number.size()-2)+number.get(number.size()-1));
number.remove(number.size()-1);
op.remove(op.size()-1);
}else if(op.get(op.size()-1).equals("-")){
number.set(number.size()-2,number.get(number.size()-2)-number.get(number.size()-1));
number.remove(number.size()-1);
op.remove(op.size()-1);
}else if(op.get(op.size()-1).equals("*")){
number.set(number.size()-2,number.get(number.size()-2)*number.get(number.size()-1));
number.remove(number.size()-1);
op.remove(op.size()-1);
}else{
number.set(number.size()-2,number.get(number.size()-2)/number.get(number.size()-1));
number.remove(number.size()-1);
op.remove(op.size()-1);
}
}
System.out.println(number.get(0));
}
}

最新文章

  1. 妙用psexec分析关机一直挂起的Windows update 更新
  2. Python的数据类型
  3. SQL Server数据库性能优化之SQL语句篇【转】
  4. animated js动画示例
  5. MySQL配置文件mysql.ini参数详解、MySQL性能优化
  6. 得到设备是何种iPhone设备 + 怎么获得启动页面图片
  7. 分页-pagination
  8. offset/client/scroll一些总结
  9. Json 调用 天气API 实例
  10. C#调用Win32 api学习总结
  11. 用shell写个100以内的所有数字之和
  12. break用法
  13. MySQL学习(一)日志与索引 --- 2019年1月
  14. Android为TV端助力:RecyclerView更新数据时焦点丢失
  15. UIView的绘制原理
  16. Android 开发 CoordinatorLayout 协调者布局 与 ConstraintLayout约束布局 两者的关系
  17. Deep Neural Networks for Object Detection(翻译)
  18. mysql字符集问题汇总
  19. 每天跟着书敲Mysql
  20. 注册表键值明明存在OpenSubKey始终返回null,解决方案

热门文章

  1. Web Components All In One
  2. ES2021 &amp; Pipeline operator (|&gt;) / 管道运算符 |&gt;
  3. .net core 和 WPF 开发升讯威在线客服系统:怎样实现拔网线也不丢消息的高可靠通信(附视频)
  4. uni-app小白入门自学笔记(二)
  5. luogu4464:莫比乌斯反演,积性函数和伯努利数
  6. java与freemarker遍历map
  7. selectors版socket
  8. Wireshark使用记录
  9. JavaScript实现动态添加员工
  10. POJ-3080(KMP+多个字符串的最长公共子串)