如何解决Java按通过量计算组
我正在优化我的旧项目,我不确定什么是优化以下代码的最佳方法,基本上,该代码通过用户拥有的许多观点来确定groupId(返回值),是否有更好的方法在这种情况下返回此号码的方法?
我的代码:
if(points > 1000000) {
return 9;
}
if (points > 400000) {
return 8;
}
if (points > 100000) {
return 7;
}
if (points > 20000) {
return 6;
}
if (points > 5000) {
return 5;
}
if(points > 1000) {
return 4;
}
if(points > 250) {
return 3;
}
if(points > 25) {
return 2;
}
if(points > 10) {
return 1;
}
return 0;
}
解决方法
您可以像这样使用Arrays.binarySearch(int[] a,int key)
:
private static final int[] LEVELS = { 10,25,250,1000,5000,20000,100000,400000,1000000 };
static int determineGroup(int points) {
int group = Arrays.binarySearch(LEVELS,points);
return (group >= 0 ? group : -group - 1);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。