题目
编写一个的函数,传入以千米每小时为单位的速度返回以厘米每秒为单位的速度,返回值向下舍入为整数(= floored)。
例如:
cockroachSpeed(1.08) == 30
注意!输入是实数(实际类型取决于语言)并且>= 0,结果应该是整数。
测试用例:
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class CockroachSpeedTests{
@Test
public void basicTests() throws Exception{
Cockroach cockroach = new Cockroach();
assertEquals(30, cockroach.cockroachSpeed(1.08));
assertEquals(30, cockroach.cockroachSpeed(1.09));
assertEquals(0, cockroach.cockroachSpeed(0));
}
}
解题
我的
public class Cockroach{
public int cockroachSpeed(double x){
return (int) Math.floor(x * 100000 / 3600);
}
}
别人的
public class Cockroach{
public int cockroachSpeed(double x){
return(int)(x*250/9);
}
}
后记
我都忘了(int)自动转换会自动抹去小数点,这样不就向下取整了。