Java【算法 03】实用算法分享(拼写inStr、去掉字符串后边特定值、三者最小、计算表达式的值)不断增加中ing

这篇博客介绍了四个实用的Java编程算法:将带有逗号的字符串转换为SQL inStr格式,删除字符串尾部的0,找到三个数的最小值,以及计算数学表达式的值。这些函数适用于数据处理和SQL查询,提高了代码的效率和实用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.算法列表

  • 拼写inStr
  • 去掉字符串后边的0
  • 三者最小值
  • 计算表达式的值

1.1 拼写inStr

    /**
     * 带逗号的字符串转换成SQL里的inStr("a,b,c"->'a','b','c')
     *
     * @param stringWithComma 用逗号分隔的字符串 "a,b,c"
     * @return inStr可以用在SQL的in语句内 'a','b','c'
     */
    public String getInStr(String stringWithComma) {
        String splitSymbolComma = ",";
        ArrayList<String> strList = CollectionUtil.toList(stringWithComma.split(splitSymbolComma));
        return strList.stream().collect(Collectors.joining("\',\'", "\'", "\'"));
    }

1.2 去掉字符串后边的0

    /**
     * 处理字符串后边的0(4100->41)
     *
     * @param str 字符串
     * @return 不带0的字符串
     */
    public String dealZero(String str) {
        String zeroStr = "0";
        if (str.endsWith(zeroStr)) {
            str = str.substring(0, str.length() - 1);
            return dealZero(str);
        } else {
            return str;
        }
    }

1.3 三者最小值

	/**
     * 获取三者最小值
     *
     * @param one   值1
     * @param two   值2
     * @param three 值3
     * @return 最小值
     */
    public int min(int one, int two, int three) {
        return (one = Math.min(one, two)) < three ? one : three;
    }

1.4 计算表达式的值

    /**
     * 计算表达式的值(1+1->2)
     *
     * @param scoreStr 表达式
     * @return 分数
     */
    private double calculateScoreByStr(String scoreStr) {
        double score = 0.0;
        if (StringUtils.isNotBlank(scoreStr)) {
            ScriptEngineManager sem = new ScriptEngineManager();
            ScriptEngine se = sem.getEngineByName("js");
            try {
                score = (double) se.eval(scoreStr + "*1.0");
            } catch (ScriptException e) {
                log.error("计算[{}]时出现异常", scoreStr);
            }
        }
        return score;
    }
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuanzhengme.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值