忍受我一会儿.
我有一个方法应该添加或减去固定值,具体取决于给定的输入.
我知道我的最大值是1.0f,最小值是0.0f.固定值是0.1f.
现在,如果输入值是1.0f方法,则应该减去该值0f.如果输入值是0f方法应该添加,0.1f直到值为1.0f.
因此,对于一个工作方法0f来1f将是:
void Foo(float input) {
float step = .1f;
for (float i=0f; i<=1f; i += step) {
input = i;
}
}
Run Code Online (Sandbox Code Playgroud)
显然我可以使用if语句检查输入值,但是有另一种方法可以在一个方法中实现吗?我觉得我在这里错过了一个非常基本的算术运算.
小智 5
只是一个建议
我认为步骤可以根据初始值调整为正数或负数,并使用do-while使其第一次运行,直到达到最终值.
根据您的代码
void Foo(float input) {
float step = input == 0f ? .1f : -0.1f;
do
{
input = input + step
} while (input > 0f && input < 1.0f);
}
Run Code Online (Sandbox Code Playgroud)