我有一个想要运行代码的用例,但前提是我的一个变量有一个有效值(该值来自传感器)。要有效,它需要大于-1500,小于+1500,并且值不能为-1,0或+1。现在我要做的是:
if ((a > -1500 && a < -1) || (a > 1 && a < 1500) {然而,这个条件在我的代码中被重复了很多次,如果我可以在代码中的某个地方定义这个有效值的范围,那么就会容易得多,所以我可以简单地这样做:
if (valid) {解决这一问题的最佳方法是什么?
澄清一下:我不知道如何告诉系统哪些值是有效的
发布于 2018-04-21 06:21:35
解决这个问题的最佳方法是什么?
添加一个函数。
bool isInputValid(int a)
{
return (a > -1500 && a < -1) || (a > 1 && a < 1500);
}然后使用
if ( isInputValid(a) ) { ... }任何你需要检查的地方。
进一步改进:
bool isInRange(int a, int low, int high)
{
return (a > low && a < high);
}
bool isInputValid(int a)
{
return (isInRange(a, -1500, -1) || isInRange(a, 1, 1500));
}https://stackoverflow.com/questions/49950428
复制相似问题