问题描述
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。
输入描述:
输入一个正浮点数值
输出描述:
输出该数值的近似整数值
示例
示例1
输入 5.5
输出 6
解决思路
分析
问题的关键在于 比对 输入的double数小数部分 与 0.5 的大小
方法
-
直接取double的整数部分,与输入的double数字相减,然后与0.5比对大小
-
double数字+0.5,直接取整
实现的关键:依赖java的类型转换,double转int直接抹去小数部分
代码实现
public class Round {
// 思路1的代码实现
public static void main(String[] args){
Scanner in = new Scanner(System.in);
//输入参数
double a = in.nextDouble();
//取整数部分
int b = (int)a;
//判断
if((a - b) >= 0.5){
b=(int)(a + 0.5);
}
System.out.println(b);
}
}
小伙伴如果想测试的话,可以直接到牛客网这个链接做测试