站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题请教一个算法(脑袋有点晕了,望请高手帮忙)

请教一个算法(脑袋有点晕了,望请高手帮忙)

摘要: 请教一个算法(脑袋有点晕了,望请高手帮忙)


float functionDevUseEfficiencyF = (float) equipIntrinsicFunctionUseNumsInt / equipIntrinsicFunctionNumsInt;

//根据评分标准来计算得分
if (functionDevUseEfficiencyF == 1) {
functionDevelopScore = (60 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
if (functionDevUseEfficiencyF -#62;= 0.8) {
functionDevelopScore = (48 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
if (functionDevUseEfficiencyF -#62;= 0.6) {
functionDevelopScore = (36 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
if (functionDevUseEfficiencyF -#62;= 0.4) {
functionDevelopScore = (24 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
if (functionDevUseEfficiencyF -#62;= 0.2) {
functionDevelopScore = (12 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
if (functionDevUseEfficiencyF -#60;= 0.2) {
functionDevelopScore = (0 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}

如上所示写法有点问题.我现在是根据functionDevUseEfficiencyF值来计算不同的表达式.
现在的问题是,如果functionDevUseEfficiencyF=0.9,那么我直接运行的是:
if (functionDevUseEfficiencyF -#62;= 0.8) {
functionDevelopScore = (48 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
而下面的-#62;=0.6等等都不需要计算了.


LZ脑袋真晕了 。
functionDevUseEfficiencyF=0.9, 不会执行下面的-#62;=0.6等等的计算。



else if


如果执意用if
就从小到大判断


中午没有休息,脑袋不工作了
考虑了一下,改成如下方式:
// 根据评分标准来计算得分
if (functionDevUseEfficiencyF == 1) {
functionDevelopScore = (60 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
if (functionDevUseEfficiencyF -#62;= 0.8 -#38;-#38; functionDevUseEfficiencyF -#60; 1) {
functionDevelopScore = (48 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
if (functionDevUseEfficiencyF -#62;= 0.6 -#38;-#38; functionDevUseEfficiencyF -#60; 0.8) {
functionDevelopScore = (36 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
if (functionDevUseEfficiencyF -#62;= 0.4 -#38;-#38; functionDevUseEfficiencyF -#60; 0.6) {
functionDevelopScore = (24 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
if (functionDevUseEfficiencyF -#62;= 0.2 -#38;-#38; functionDevUseEfficiencyF -#60; 0.4) {
functionDevelopScore = (12 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
if (functionDevUseEfficiencyF -#60;= 0.2) {
functionDevelopScore = (0 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}

不知道这种写法是否最好的方式





路过
顶!!


functionDevelopScore = ((int)(functionDevUseEfficiencyF*5) * 12 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;



为什么不用case语句呀?!


↑返回目录
前一篇: 请问怎么退出一个方法
后一篇: 求助:有关于Date中时间格式转换的问题