华为机试 牛客网 HJ7 取近似值

这篇博客介绍了如何编写程序来处理正浮点数的取整问题。提供了两种不同的Java解决方案,一种使用Math.round()函数,另一种通过比较小数部分决定是否向上取整。文章还提醒读者可以考虑使用Math.ceil()和Math.floor()函数,以及直接将double转换为int的方式。
摘要由CSDN通过智能技术生成

华为机试 牛客网 HJ7 取近似值

描述

写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。

输入描述:

输入一个正浮点数值

输出描述:

输出该数值的近似整数值

示例1

输入:
5.5
输出:
6

题解1

运行时间40ms 占用内存11684KB

import java.util.*;
public class Main{
    
    public static void main(String[] args){
        
        Scanner scanner = new Scanner(System.in);
        System.out.println(Math.round(scanner.nextDouble()));
        
        
    }
    
}

题解2

运行时间39ms 占用内存12044KB

import java.util.*;
public class Main{
    
    public static void main(String[] args){
        
        Scanner scanner = new Scanner(System.in);
        double n = scanner.nextDouble();
        int k = (int)n;
        if(n-k>=0.5)
            System.out.println(k+1);
        else
            System.out.println(k);
        
        
    }
    
}

反思

Math的ceil,floor,round函数,以及double强转为Int

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值