zhangzhiming
V2EX  ›  问与答

这个判断怎么优化呢?大佬们

  •  
  •   zhangzhiming · Apr 30, 2021 · 2310 views
    This topic created in 2015 days ago, the information mentioned may be changed or developed.
    
    double value =Double.valueOf(kscjgl.getZcj()).doubleValue();
                 double max = Double.valueOf(entity.getMax()).doubleValue();
                 double min =Double.valueOf(entity.getMin()).doubleValue();
                    if (value<=min&&value<=max){
                        cj=70;
                    }else if(value<=min&&value<=max){
                        cj=75;
                    }else if(value<=min&&value<max){
                        cj=80;
                    }else if (value>min&&value<=max){
                        cj=85;
                    }else if(value>max){
                        cj=95;
                    }
                    
    

    就是用 value 值判断在不在最大值,最小值范围

    17 replies  •  2021-04-30 20:44:18 +08:00
    8888888888
    8888888888
    Apr 30, 2021
    1
    直接判断 max 值,从上往下,就不用判断 min 了
    Dockerfile
    Dockerfile
    Apr 30, 2021
    2
    为什么 value < min 了还要 < max , 写错了吧?
    hxndg
    hxndg
    Apr 30, 2021
    3
    value<=min&&value<=max 时 cj = 70;
    value<=min&&value<=max 时 cj = 75 ;

    我属实没看懂你写的是个啥东西?
    hxndg
    hxndg
    Apr 30, 2021
    4
    如果你对两个条件做判断无非是个范围映射的功能。
    catror
    catror
    Apr 30, 2021
    5
    这写的啥,范围判断最多也就三种情况
    xing7673
    xing7673
    Apr 30, 2021 via iPhone
    6
    它这个是等于 min max 一种分数,但是总体而言就是学生作业
    zhangzhiming
    zhangzhiming
    OP
    Apr 30, 2021
    7
    伪代码 这判断不知道怎么弄
    dqzcwxb
    dqzcwxb
    Apr 30, 2021
    8
    用 TreeMap 或者 ConcurrentSkipListMap
    zhangzhiming
    zhangzhiming
    OP
    Apr 30, 2021
    9
    ```java
    1 、425---440,期末考试英语成绩替换为 70 ;
    2 、441---450,期末考试英语成绩替换为 75 ;
    3 、451---470,期末考试英语成绩替换为 80 ;
    4 、471---499,期末考试英语成绩替换为 85 ;
    5 、500 分以上,期末考试英语成绩替换为 95 ;
    ```
    最小值 最大值是可变的
    zxCoder
    zxCoder
    Apr 30, 2021
    10
    你确定这不是大一 C 语言课后题吗

    ifelse 判断分数输出等级
    zhangzhiming
    zhangzhiming
    OP
    Apr 30, 2021
    11
    @zxCoder 没有思路呀!
    dqzcwxb
    dqzcwxb
    Apr 30, 2021❤️1
    12
    这个问题很简单, 前面的人为什么不直接回答反而顾左右而言他?
    dqzcwxb
    dqzcwxb
    Apr 30, 2021
    13
    解题思路:首先把 if else if 的递进判断修改为二分查找,然后二分查找自然就联想到 avl 二叉查找树,那么接下来就是红黑树,红黑树在 java 中的对应结构就是 TreeMap,解题完毕
    BiteTheDust
    BiteTheDust
    Apr 30, 2021
    14
    @dqzcwxb 意思是大家都要未卜先知 先预测到楼主在 9 楼发的回复
    dqzcwxb
    dqzcwxb
    Apr 30, 2021
    15
    @BiteTheDust #14 我在 8 楼就说了答案,从主贴完全可以知道他的需求是范围查找
    chairuosen
    chairuosen
    Apr 30, 2021
    16
    把节点存数组里,循环
    billlee
    billlee
    Apr 30, 2021
    17
    不需要动态修改的二分查找,数组二分法一般比红黑树快
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2912 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 11:27 · PVG 19:27 · LAX 03:27 · JFK 06:27
    ♥ Do have faith in what you're doing.