首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想在每次超过x numOfErrors时将x秒加到一个值上

我想在每次超过x numOfErrors时将x秒加到一个值上
EN

Stack Overflow用户
提问于 2020-03-26 03:45:40
回答 2查看 35关注 0票数 0

我的数学不好,所以我不确定如何实现这个目标:我希望time对于1-3个错误递增3个错误,然后每个错误4-6个错误递增5个错误,然后每个错误递增8个错误7个或更多错误。

这就是我到目前为止所做的,但我的问题是,我不确定如何为每个错误添加8秒,对于7或更多的错误

代码语言:javascript
复制
if (numberOfErrors == 1) { time += 3;}
else if (numberOfErrors == 2) {time += 6;}
else if (numberOfErrors == 3) {time += 9;}
else if (numberOfErrors == 4) {time += 14;}
else if (numberOfErrors == 5) {time += 19;}
else if (numberOfErrors == 6) {time += 24;}
else if (numberOfErrors >= 7) {(time += 24) + (numberOfErrors;}

解决这个问题的最好方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2020-03-26 04:46:51

试试这个:

代码语言:javascript
复制
 else if (numberOfErrors >= 7) {
    time += 24 + (numberOfErrors - 7) * 8;
 }

或者,您可以使用更少的代码来完成此任务:

代码语言:javascript
复制
time += numberOfErrors * 3;
if (numberOfErrors > 3) {time += (numberOfErrors - 3) * 2;}
if (numberOfErrors > 6) {time += (numberOfErrors - 6) * 3;}
票数 1
EN

Stack Overflow用户

发布于 2020-03-30 05:08:43

代码语言:javascript
复制
int[] errtm = new int[] { 0,3,6,9, 14,19,24};
if (errcnt < 7) time += errtm[errcnt];
else time += 24+8*errcnt;

我们用来增加的集合是一个很小的集合,所以我们可以使用一个数组来保存这些值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60856287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档