java面试题33 Math.round(11.5) 等于多少 (). Math.round(-11.5) 等于多少 (  ).

A 11 ,-11
B 11 ,-12
C 12 ,-11
D 12 ,-12

蒙蔽树上蒙蔽果,蒙蔽树下你和我。

做Java的面试题时遇到了以下这题,百度了一下Math.round()的修约规则,有的说是四舍五入,有的说是四舍六入,发现和我学分析化学时用的数字修约规则(四舍六入五成双)很像,所以验证一下;
原题:Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
作者给的解题方法如下:
答:Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5然后进行下取整。

先说结论,题目作者给的解释是对的,后来找了该方法的定义,结果方法的定义就是这个原理,果然看文档才是王道;

round方法:
static long round(double a)
此方法返回的参数最接近的long.
static int round(float a)
此方法返回的参数最接近的整数.

注:四舍六入五成双:
当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是“四舍六入五成双”,也即“4舍6入5凑偶”这里“四”是指≤4 时舍去,”六”是指≥6时进上,”五”指的是根据5后面的数字来定,当5后有数时,舍5入1;当5后无有效数字时,需要分两种情况来讲:①5前为奇数,舍5入1;②5前为偶数,舍5不进。(0是偶数)

以下只论证static int round(float a)

//四舍

     int[] test1 = {Math.round(2.40f),Math.round(2.44f),Math.round(2.45f),Math.round(2.46f),Math.round(-2.40f),Math.round(-2.44f),Math.round(-2.45f),Math.round(-2.46f),Math.round(3.40f),Math.round(3.44f),Math.round(3.45f),Math.round(3.46f),Math.round(-3.40f),Math.round(-3.44f),Math.round(-3.45f),Math.round(-3.46f)};for(int i = 0; i< test1.length; i++){  System.out.print(test1[i]+",");}  

//输出:2,2,2,2,-2,-2,-2,-2,3,3,3,3,-3,-3,-3,-3,符合四舍;也符合 加0.5,进行下取整;

//六入

 int[] test2 = {Math.round(2.60f),Math.round(2.64f),Math.round(2.65f),Math.round(2.66f),Math.round(-2.60f),Math.round(-2.64f),Math.round(-2.65f),Math.round(-2.66f),Math.round(3.60f),Math.round(3.64f),Math.round(3.65f),Math.round(3.66f),Math.round(-3.60f),Math.round(-3.64f),Math.round(-3.65f),Math.round(-3.66f)};for(int i = 0; i< test2.length; i++){  System.out.print(test2[i]+",");}

//输出:3,3,3,3,-3,-3,-3,-3,4,4,4,4,-4,-4,-4,-4,符合六入;也符合 加0.5,进行下取整;

//五成双之五后无数字

  int[] test3 = {Math.round(2.5f),Math.round(-2.5f),Math.round(3.5f),Math.round(-3.5f)};for(int i = 0; i< test3.length; i++){  System.out.print(test3[i]+",");}

//输出:3,-2,4,-3,不符合五成双;符合 加0.5,进行下取整;

//五成双之五后有数字(零,非零)

     int[] test4 = {Math.round(2.50f),Math.round(2.51f),Math.round(2.59f),  Math.round(-2.50f),Math.round(-2.51f),Math.round(-2.59f),Math.round(3.50f),Math.round(3.51f),Math.round(3.59f),  Math.round(-3.50f),Math.round(-3.51f),Math.round(-3.59f),};for(int i = 0; i< test4.length; i++){  System.out.print(test4[i]+",");}

//输出:3,3,3,-2,-3,-3,4,4,4,-3,-4,-4,不符合五后非零进一;符合 加0.5,进行下取整;

//结论:Math.round()的取整规则不符合四舍六入五成双,以上案例符合 加0.5,进行下取整;

答案C

我是歌谣,如有不合理之处欢迎指出。喜欢敲代码,闲时刷刷题。

阅读目录(置顶)(长期更新计算机领域知识)

阅读目录(置顶)(长期更新计算机领域知识)

阅读目录(置顶)(长期科技领域知识)

歌谣带你看java面试题

java面试题33 Math.round(11.5) 等于多少 (). Math.round(-11.5) 等于多少 ( ).相关推荐

  1. 歌谣带你看java面试题

    面试题来源与各个网站,如有不合理之处,欢迎吐槽. 第一题.java面试题1 牛客:A派生出子类B,B派生出子类C,并且在java源代码中有如下声明: 第二题.java面试题2 牛客:定义类中成员变量时 ...

  2. Java面试题全集84集系列-(1-XX)

    (1)不要说自己擅长某方面,说自己熟悉或者对某一方面有所研究. java 基础 (2) java 跨平台原理https://www.cnblogs.com/roger-yu/p/5827452.htm ...

  3. java笔试题大全带答案_java笔试题大全带答案经典11题

    java笔试题大全带答案(经典11题) 1.不通过构造函数也能创建对象吗() A. 是 B. 否 分析:答案:A Java创建对象的几种方式(重要): (1) 用new语句创建对象,这是最常见的创建对 ...

  4. 【双11劲爆干货】阿里高级Java面试题(首发,70道)

    转载自 [双11劲爆干货]阿里高级Java面试题(首发,70道,带详细答案) 整理的70道阿里的Java面试题,都来挑战一下,看看自己有多厉害.下面题目都带超详细的解答,详情见底部. 1.java事件 ...

  5. Math.round(11.5)等于多少? Math.round(-11.5)等于多少?

    Math.round()运算规则+0.5向下取整 package com.study.JavaBase;import org.junit.Test;/*** @Description Math.rou ...

  6. Java面试题:Java设计模式11道常见面试题

    想要找到一份好的工作,面试是少不了的,本文收录了一些Java基础面试题,学习没有捷径,希望大家都能少走一些弯路,2021Java面试题赶快学习起来吧. Java基础面试题, 请列出JDK中几种最常用的 ...

  7. java面试题11 牛客:如下语句通过算术运算和逻辑运算之后i和 j的结果是

    如下语句通过算术运算和逻辑运算之后i和 j的结果是( ) 1 2 3 4 5 6 int i=0; int j=0; if((++i>0)||(++j>0)) { //打印出i和j的值. ...

  8. java 实体类包含list 怎么取值_2019 最新 500 道 Java 面试题

    2015 年,因为工作岗位的变动,开始负责给集团招聘一些技术人员,出于对公司的负责,也为了更好的胜任技术经理的职位,在面试的这件事上,我做了大量的"功课",首先我研究了几乎所有大厂 ...

  9. Java面试题大全带答案 110道(持续更新)

    本人发现网上虽然有不少Java面试题大全带答案,但第一未必全,第二未必有答案,第三虽然有答案,但未必能在面试中说,所以在本文里,会不断收集各种面试题,并站在面试官的立场上,给出我自己的答案 如果不背 ...

最新文章

  1. iOS中autolaylout和sizeclass的理解
  2. Oracle逻辑结构学习笔记
  3. SIFT特征提取-应用篇
  4. 硒品牌谋定功能性农业-农业大健康·万祥军:践行健康中国
  5. ThinkPHP 3.2.3 简单后台模块开发(一)常用配置
  6. poj 1634 Who's the boss?
  7. 今早服务器出现的问题
  8. 命令测试post_【第2088期】前端中台化,把格局做大——NodeJS 和测试服务探索
  9. 独立站国际物流怎么解决?
  10. 01 Angular
  11. python入门经典100例-【python】编程语言入门经典100例--37
  12. 自学python能找到工作吗-自学Python好找工作吗?
  13. 在linux中docker安装mysql_Linux系统:用docker安装mysql。
  14. java铲车_深入研究Java类装载机制
  15. 转:淘宝客搜索链接技巧首度分享
  16. 如何安装故障恢复控制台
  17. lua学习笔记---作用域
  18. web的邮件抄送和密送
  19. 对币圈假冒科学家骗子盗取私钥的分析
  20. sql Server 创建临时表 嵌套循环 添加数据

热门文章

  1. 5年后你最想要什么?
  2. 屏幕实战效果解析:IPS/TFT/AMOLED/SLCD
  3. MongoDB 入门之安装篇
  4. 诺基亚S40手机联系人导入安卓手机
  5. 行添加DataGridView导出Excel的数据表格
  6. java集合概念_JAVA集合概念
  7. oracle查出连续5行,Oracle期末考试复习题2
  8. html字符串转换jsx,javascript – 将React.element转换为JSX字符串
  9. ssh自动输入密码登录服务器/ssh免输入密码登录/非交互ssh 密码验证
  10. python下设置urllib连接超时