HJ7 取近似值

75 阅读1分钟

Problem: HJ6 质数因子

题目描述

描述

输入一个正浮点数值

输入描述:

第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。

输出描述:

输出该数值的近似整数值

示例1

输入:5.5 输出:6 说明:0.5>=0.5,所以5.5需要向上取整为6

解题思路

将num+0.5取整

算法流程

  1. in.next()in是一个Scanner对象,next()方法用于读取用户输入的下一个标记(默认情况下是以空格分隔的字符串)。在这里,我们假设用户输入的是一个浮点数。
  2. new BigDecimal(in.next()):将用户输入的字符串转换为BigDecimal对象。BigDecimal类的构造函数可以接受字符串作为参数,用于创建一个表示相应数值的BigDecimal对象。
  3. .add(new BigDecimal("0.5")):使用add()方法将前面创建的BigDecimal对象与另一个BigDecimal对象(表示0.5)相加。add()方法返回一个新的BigDecimal对象,表示两个数值相加的结果。

代码

import java.util.Scanner;
import java.math.BigDecimal;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        BigDecimal bigDecimal = new BigDecimal(in.next()).add(new BigDecimal("0.5"));
        System.out.println(bigDecimal.longValue());
    }

}

复杂度

  • 时间复杂度:

添加时间复杂度, 示例: O(1)O(1)

  • 空间复杂度:

添加空间复杂度, 示例: O(1)O(1)