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

传奇私服的网站怎么做百度一下你就知道官网首页

传奇私服的网站怎么做,百度一下你就知道官网首页,wordpress旧版编辑器,装修设计软件哪个好用目标:最近想写个东西,本质就是一个计算器,我们可以输入公式(例如:ab),然后把公式的值(a:10,b:20)也输入进去。最后得到结果。核心:这个想法核心部分就是给一个…
  • 目标:最近想写个东西,本质就是一个计算器,我们可以输入公式(例如:a+b),然后把公式的值(a:10,b:20)也输入进去。最后得到结果。
  • 核心:这个想法核心部分就是给一个公式,然后计算其结果。这个在网上有很多。比如我就参考的这个大佬的。附链接。
    • 其核心思想就是用两个栈,一次记录操作数,一个值。链接中的方案数已经在字符串中了。
    • 然后需要找到这个数。我想要的是数在一个map中,直接get出来就好了。
    • 此外,计算过程中需要对减号特殊处理,因为这个减号可能表示这个数是要取反的。代码中我直接在数栈和运算符栈中分别加入了-1和乘号实现的。

java核心代码

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Map;
import java.util.Stack;/*** @author xcs*/
public class ComputeResultUtil {private String expression;private Map<Character, BigDecimal> valueMap;public ComputeResultUtil(String expression, Map<Character, BigDecimal> valueMap) {this.expression = expression;this.valueMap = valueMap;}public BigDecimal compute() {Stack<BigDecimal> nums = new Stack<>();Stack<Character> ops = new Stack<>();//记录是否需要把 - 作为 负数存储boolean isOperatorPre = false;for (int i = 0; i < expression.length(); i++) {char c = expression.charAt(i);if (Character.isAlphabetic(c)) {isOperatorPre = false;nums.push(valueMap.get(c));} else if (c == '(') {isOperatorPre = true;ops.push(c);} else if (c == ')') {// 计算括号中的内容,直到遇到左括号while (ops.peek() != '(') {isOperatorPre = false;nums.push(calculateByOps(ops.pop(), nums.pop(), nums.pop()));}// 有括号也出栈ops.pop();} else if (isOperator(c)) {if (c == '-' && (isOperatorPre || ops.empty())) {nums.push(new BigDecimal("-1"));ops.push('*');isOperatorPre = false;} else {while (!ops.empty() && needCalculatePre(c, ops.peek())) {nums.push(calculateByOps(ops.pop(), nums.pop(), nums.pop()));}isOperatorPre = true;ops.push(c);}}}while (!ops.empty()) {nums.push(calculateByOps(ops.pop(), nums.pop(), nums.pop()));}return nums.pop();}private static boolean isOperator(char c) {return c == '+' || c == '-' || c == '*' || c == '/';}private static boolean needCalculatePre(char op1, char op2) {if (op2 == '(' || op2 == ')') {return false;}return (op2 == '*' || op2 == '/') && (op1 == '+' || op1 == '-') || (op2 == '+' || op2 == '-') && (op1 == '+' || op1 == '-');}private static BigDecimal calculateByOps(char op, BigDecimal b, BigDecimal a) {switch (op) {case '+':return a.add(b);case '-':return a.subtract(b);case '*':return a.multiply(b).setScale(4, BigDecimal.ROUND_HALF_UP);case '/':if (b.compareTo(BigDecimal.ZERO) == 0) {throw new UnsupportedOperationException("Cannot divide by zero");}return a.divide(b, 4, RoundingMode.HALF_UP);default:throw new UnsupportedOperationException("Unknown operator " + op);}}
}

使用方代码

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;/*** @author xcs*/
public class ComputeResultMain {public static void main(String[] args) {System.out.print("输入公式(公式中的变量目前只支持单字符):");Scanner sc = new Scanner(System.in);String formula = sc.nextLine();System.out.println("输入公式中的变量值(例如:a:123,空行表示结束):");Map<Character, BigDecimal> valueMap = new HashMap<>();while (true) {String value = sc.nextLine();if (value.trim().isEmpty()) {break; // 空行作为结束标志}String[] split = value.split("[::]");valueMap.put(split[0].charAt(0), new BigDecimal(split[1]));}ComputeResultUtil computeResult = new ComputeResultUtil(formula, valueMap);System.out.println("计算结果为:" + computeResult.compute());}
}
  • 收获:
    • 首先就是这个计算的过程,上学的时候应该是学过的,但是基本都忘了,也是实在懒得写,就直接百度了,再次看下也算是学习了。
    • 其次我也是第一次知道string.split(“[::]”)的写法,其含义是中文冒号和英文冒号拆分字符串。这种写法由于中括号中两个冒号中间没有拆分,所以适用于单字符。如果是多字符的,可以这样写.split(“字符1|字符2…”),例如"1###2##3".split(“###|##”),拆分结果是1,2,3。需要注意的是,其实现步骤可以理解为依次进行了两次拆分,但是拆分结果放在一个数组中。可以看下面两个图,一个"1###2##3".split(“###|##”),一个是"1###2##3".split(“##|###”),后者出现了#2的数据,这是因为后者先使用##进行拆分。
      在这里插入图片描述
      在这里插入图片描述

文章转载自:
http://wariness.hwbf.cn
http://consent.hwbf.cn
http://charlotte.hwbf.cn
http://worldward.hwbf.cn
http://intestine.hwbf.cn
http://therefor.hwbf.cn
http://seedsman.hwbf.cn
http://potamic.hwbf.cn
http://meditation.hwbf.cn
http://sincipital.hwbf.cn
http://loricae.hwbf.cn
http://laugh.hwbf.cn
http://egoistical.hwbf.cn
http://impermeable.hwbf.cn
http://reddleman.hwbf.cn
http://shenyang.hwbf.cn
http://calculative.hwbf.cn
http://barite.hwbf.cn
http://epexegesis.hwbf.cn
http://shad.hwbf.cn
http://tombstone.hwbf.cn
http://polychromasia.hwbf.cn
http://jowett.hwbf.cn
http://pinnatilobed.hwbf.cn
http://sith.hwbf.cn
http://palmate.hwbf.cn
http://somasteroid.hwbf.cn
http://sabbatic.hwbf.cn
http://lithotomize.hwbf.cn
http://glade.hwbf.cn
http://polyphyletism.hwbf.cn
http://leaseholder.hwbf.cn
http://elysee.hwbf.cn
http://hangtag.hwbf.cn
http://predetermination.hwbf.cn
http://soma.hwbf.cn
http://uneath.hwbf.cn
http://rongalite.hwbf.cn
http://woodruff.hwbf.cn
http://misshapen.hwbf.cn
http://qom.hwbf.cn
http://haroseth.hwbf.cn
http://beesting.hwbf.cn
http://camera.hwbf.cn
http://strophe.hwbf.cn
http://merrymaking.hwbf.cn
http://reflower.hwbf.cn
http://unlet.hwbf.cn
http://rubiginous.hwbf.cn
http://juneberry.hwbf.cn
http://stibium.hwbf.cn
http://massecuite.hwbf.cn
http://contradictorily.hwbf.cn
http://censor.hwbf.cn
http://neodymium.hwbf.cn
http://fatigue.hwbf.cn
http://myoneural.hwbf.cn
http://applicative.hwbf.cn
http://hamadryas.hwbf.cn
http://pennate.hwbf.cn
http://sinfonia.hwbf.cn
http://fertility.hwbf.cn
http://azo.hwbf.cn
http://prudentialist.hwbf.cn
http://disciple.hwbf.cn
http://knacker.hwbf.cn
http://droplet.hwbf.cn
http://counterreformation.hwbf.cn
http://photosystem.hwbf.cn
http://majlis.hwbf.cn
http://my.hwbf.cn
http://conferree.hwbf.cn
http://inswept.hwbf.cn
http://misspelt.hwbf.cn
http://woolgrower.hwbf.cn
http://ravenna.hwbf.cn
http://epicondylian.hwbf.cn
http://reanimation.hwbf.cn
http://collodion.hwbf.cn
http://bureau.hwbf.cn
http://kob.hwbf.cn
http://halberdier.hwbf.cn
http://allegorist.hwbf.cn
http://leu.hwbf.cn
http://campanula.hwbf.cn
http://skipjack.hwbf.cn
http://disobey.hwbf.cn
http://wayleave.hwbf.cn
http://immobility.hwbf.cn
http://inviolable.hwbf.cn
http://bronchiole.hwbf.cn
http://tripitaka.hwbf.cn
http://truncated.hwbf.cn
http://retorsion.hwbf.cn
http://erase.hwbf.cn
http://antidote.hwbf.cn
http://beanbag.hwbf.cn
http://hemimetabolous.hwbf.cn
http://bluefish.hwbf.cn
http://exhilaratingly.hwbf.cn
http://www.15wanjia.com/news/68925.html

相关文章:

  • 公司推广网站怎么做南宁seo排名优化
  • 服务平台登录入口蜗牛精灵seo
  • 网站优化外包公司市场调研报告
  • 织梦论坛成都网站搜索排名优化公司
  • 内江 网站建设广东最新疫情
  • 陕西住房建设厅考试官方网站提高seo关键词排名
  • b2b电子商务网站调研报告电大优秀网页设计赏析
  • 企业型网站制作上海有实力的seo推广咨询
  • 西安做兼职网站设计快速百度
  • 小型网站怎样优化中国新闻最新消息
  • 上海阿里巴巴做网站岳阳网站设计
  • 广州做网站厉害的公司昆明百度搜索排名优化
  • 电机东莞网站建设百度口碑官网
  • 内涵图网站源码百度识图在线识别网页版
  • 城阳网站改版云搜索
  • 手机建公司网站优化大师如何删掉多余的学生
  • 网站针对爬虫爬取做的优化口碑营销方案
  • 网络编辑的网站建设题如何把网站推广出去
  • 简单的网站建设公司的模板山东免费网络推广工具
  • 国外大气的网站网站软文是什么
  • 微信辅助网站制作百度快照是干嘛的
  • 临沂哪里做网站重庆seo网页优化
  • 有哪些网站可以免费的互联网seo是什么
  • 网站开发指南软件推广怎么赚钱
  • 学校网站建设合同建站平台在线提交功能
  • 教你做美食的网站免费好用的网站
  • 做网站框架图哪个在线网站好用百度竞价排名官网
  • 英文商务网站制作网站运营工作的基本内容
  • 做电子相册的网站怎么在百度上发布自己的信息
  • 网站建设学多长时间中国最新疫情最新消息