【华为机试在线训练】取近似值

题目描述

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

输入描述:

输入一个正浮点数值

输出描述:

输出该数值的近似整数值

示例1

输入

5.5

输出

6

时间限制:1秒 空间限制:32768K 热度指数:85013

 

思路

将整数和小数用split()方法分割开,同时小数只需要取第一位小数即可。

注意:由于"."、"\"、"|" 都需要转义,因此,需要写成 "\\."、"\\\"、"\\|".

 

参考代码

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String dou = scanner.next();
        if (Float.valueOf(dou) <= 0) {
            return;
        }
        String[] douArray = dou.split("\\.");
        int zhengshu = Integer.valueOf(douArray[0]);
        int xiaoshu = Integer.valueOf(douArray[1].substring(0, 1));
        if (xiaoshu >= 5) {
            zhengshu += 1;
        }
        System.out.println(zhengshu);
    }
}

 

你可能感兴趣的:(剑指offer)