| | |
| | | //然后提取公式 |
| | | String strs = formula.substring(0,formula.indexOf("(")); |
| | | String upperStr = strs.toUpperCase(); |
| | | if (upperStr.equals("")) { |
| | | throw new ErrorException(formula + "里面的公式没有函数"); |
| | | if (upperStr.matches(".*\\d.*")){ |
| | | upperStr=""; |
| | | } |
| | | System.out.println(upperStr); |
| | | //然后获取最外面括号里面的值,再根据","分割 |
| | |
| | | } |
| | | // 根据函数名称进行相应计算 |
| | | BigDecimal finalResult; |
| | | if (upperStr.equals("")||upperStr==null) { |
| | | finalResult=results.get(0); |
| | | }else { |
| | | switch (upperStr) { |
| | | case "MAX": |
| | | finalResult = results.stream().max(BigDecimal::compareTo) |
| | |
| | | default: |
| | | throw new UnsupportedOperationException("暂不支持函数: " + upperStr); |
| | | } |
| | | } |
| | | System.out.println(results); |
| | | System.out.println("计算结果: " + finalResult); |
| | | |