首先,我先给大家补充一些相关的知识点,方便大家理解算法的书写. java的强制类型分为两类,基本数据类型转换和对象引用类型转换。 基本数据类型即int,double,float这些基本的数据类型
首先,我先给大家补充一些相关的知识点,方便大家理解算法的书写.
- java的强制类型分为两类,基本数据类型转换和对象引用类型转换。
- 基本数据类型即int,double,float这些基本的数据类型,当高类型(高字节)转向低类型(短字节)时,如double转int,即需要强制转换。
- 对象引用类型转换,指的是子类强制转换为父类的转换。
- 之所以需要强制转换,是因为子类包含比父类更多的属性和方法,强制转换后,子类以父类的形态出现,暂时只能使用父类的方法。
我的解题思路:
具体实现:
import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextDouble()) { // 注意 while 处理多个 case
double a = in.nextDouble();
int f = (int)a;
double m = a-f;
if(m>=0.5){
System.out.println(f+1);
}else{
System.out.println(f);
}
}
}
}
算法的实现说明:
我们首先输入一个浮点数,此时我们可以使用while语句来处理多个用例.然后通过强制类型转换的方式将我们输入的浮点数的整数和小数分别提取出来.然后拿小数与0.5去做比较,如果大于等于0.5,那么直接使用整数值加1.反之直接输出我们提取出来的整数.这样做的目的就是简单直观方便大家了解.
实现结果展示: