华为面试---取近似值
来源:互联网 发布:网络购物用户行为报告 编辑:程序博客网 时间:2024/06/05 20:43
题目描述:
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。
解题思路:
将输入的float值转化成字符,判断小数点后一位数值是否大于等于5,然后使用字符串的split函数去整数部分
代码实现:
import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); float number = sc.nextFloat(); int outputNumber=0; String numberStr = String.valueOf(number); for(int i=1;i<numberStr.length();i++){ if(numberStr.charAt(i-1)=='.'&& numberStr.charAt(i)>='5'){ String numberInt[] = numberStr.split("\\."); outputNumber = Integer.parseInt(numberInt[0])+1; } if(numberStr.charAt(i-1)=='.'&& numberStr.charAt(i)<'5'){ String numberInt[] = numberStr.split("\\."); outputNumber = Integer.parseInt(numberInt[0]); } } System.out.println(outputNumber); }}
import java.util.Scanner;import java.lang.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); float number = sc.nextFloat(); System.out.println(Math.round(number)); }}
import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); float number = sc.nextFloat(); System.out.println((int)(number+0.5));//其实是double强制转int,因为0.5后面没有加f }}
阅读全文
0 0
- 华为面试---取近似值
- 【华为OJ】取近似值
- 【华为OJ 】 取近似值
- 【华为OJ】取近似值
- 【华为OJ7】取近似值
- 华为OJ测试--取近似值
- 【华为OJ】【007-取近似值】
- 华为OJ 初级:取近似值
- 华为机试题:取近似值
- 华为机试 取近似值
- 华为oj初级 取近似值
- 华为机试-取近似值
- 华为OJ——取近似值
- 华为OJ——取近似值
- Java - 华为机试训练 - 取近似值
- java-----------华为机试------取近似值
- 华为机试——取近似值
- 牛客网华为在线训练---取近似值
- Linux系统CentOs7 安装mysql并启动
- 一个新手对java网站项目管理的理解,浅谈MVN,Git,SVN
- CodeForces
- 1248: Let the Balloon Rise
- iOS-浅谈runtime运行时机制01-类与对象的内部结构
- 华为面试---取近似值
- Android7.0须知--应用间共享文件(FileProvider) log: exposed beyond app through Intent.getData()
- C语言笔记-基于C语言实现的流水跑马灯
- 典型的找不到mapper映射文件的异常 Invalid bound statement 异常
- Android transaction Fragment时按返回键直接退出,没有返回到上一个Fragment
- HDU 3076 ssworld VS DDD (概率dp)
- JAVA多线程
- 我的python进阶之路,开始
- 扫雷 java 实现 uva 题号10189