每日一练41——Java转换单位(8kyu)

题目

编写一个的函数,传入以千米每小时为单位的速度返回以厘米每秒为单位的速度,返回值向下舍入为整数(= 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)自动转换会自动抹去小数点,这样不就向下取整了。

你可能感兴趣的:(每日一练41——Java转换单位(8kyu))