首页 > 解决方案 > Scala,查找值是否在两个整数之间

问题描述

我有一组值

guests [1,2G,5G,5,6,8lalala,74,2zooo,555,654,22,21,19,4,5,2,10,11]

我需要找出“6”是否在0 到 15之间

我尝试了以下方法:

if(Math.min(0, guests.toInt) == Math.max(guests.toInt, 15)) return xxxxxx

我什么也没得到,好像我的 if 语句被一起跳过了

请注意,我不想返回布尔值

标签: scala

解决方案


这个条件:

Math.min(0, guests.toInt) == Math.max(guests.toInt, 15)

总会失败。

i0 到 15 之间,Math.min(0, i)将始终返回 0。

i0 到 15 之间,Math.max(i, 15)将始终返回 15。

所以你会比较0 == 15

对于低于 0 或高于 15 的整数,您将拥有:

less than 0 == 15

或者

0 == more than 15

你真正想写的是:

val i = guests.toInt
if (0 <= i && i <= 15) xxxxxx
else { some other value }

推荐阅读