gpt4 book ai didi

java - 摆脱丑陋的 if 语句

转载 作者:IT老高 更新时间:2023-10-28 13:54:14 28 4
gpt4 key购买 nike

我有这个丑陋的代码:

if ( v > 10 ) size = 6;
if ( v > 22 ) size = 5;
if ( v > 51 ) size = 4;
if ( v > 68 ) size = 3;
if ( v > 117 ) size = 2;
if ( v > 145 ) size = 1;
return size;

如何摆脱多个 if 语句?

最佳答案

这种方法怎么样:

int getSize(int v) {
int[] thresholds = {145, 117, 68, 51, 22, 10};

for (int i = 0; i < thresholds.length; i++) {
if (v > thresholds[i]) return i+1;
}
return 1;
}

功能上:(在 Scala 中演示)

def getSize(v: Int): Int = {
val thresholds = Vector(145, 117, 68, 51, 22, 10)
thresholds.zipWithIndex.find(v > _._1).map(_._2).getOrElse(0) + 1
}

关于java - 摆脱丑陋的 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3786358/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com