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

2021-04-30 16:24:19 +08:00
 hemingyang

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 值判断在不在最大值,最小值范围

1540 次点击
所在节点    问与答
17 条回复
timedivision
2021-04-30 16:29:13 +08:00
直接判断 max 值,从上往下,就不用判断 min 了
Jwyt
2021-04-30 16:32:07 +08:00
为什么 value < min 了还要 < max , 写错了吧?
hxndg
2021-04-30 16:41:09 +08:00
value<=min&&value<=max 时 cj = 70;
value<=min&&value<=max 时 cj = 75 ;

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

ifelse 判断分数输出等级
hemingyang
2021-04-30 17:52:01 +08:00
@zxCoder 没有思路呀!
dqzcwxb
2021-04-30 17:53:02 +08:00
这个问题很简单, 前面的人为什么不直接回答反而顾左右而言他?
dqzcwxb
2021-04-30 17:57:28 +08:00
解题思路:首先把 if else if 的递进判断修改为二分查找,然后二分查找自然就联想到 avl 二叉查找树,那么接下来就是红黑树,红黑树在 java 中的对应结构就是 TreeMap,解题完毕
BiteTheDust
2021-04-30 17:57:46 +08:00
@dqzcwxb 意思是大家都要未卜先知 先预测到楼主在 9 楼发的回复
dqzcwxb
2021-04-30 17:58:50 +08:00
@BiteTheDust #14 我在 8 楼就说了答案,从主贴完全可以知道他的需求是范围查找
chairuosen
2021-04-30 18:00:42 +08:00
把节点存数组里,循环
billlee
2021-04-30 20:44:18 +08:00
不需要动态修改的二分查找,数组二分法一般比红黑树快

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/774390

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX