论坛首页 Java企业应用论坛

一道简单笔试题,你给力吗?

浏览 18348 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2010-12-26  
java解惑谜题1和2
0 请登录后投票
   发表时间:2010-12-26  
贫僧不吃肉 写道
heisedeyueya 写道
自然数才有奇数与偶数的说法,而负数不是自然数。这个题目只能得出余数是0还是1,所以题目本身就有一点儿问题。


你提出的问题还有点意思,我也有点confuse了,所以去查了一下

百度百科的定义:
奇数(英文:odd)数学术语 , 整数中,能被2整除的数是偶数,不能被2整除的数是奇数,偶数可用2k表示,奇数可用2k+1表示,这里k是整数。 奇数包括正奇数、负奇数


维基百科的定义:
所有整数不是奇数[1](又称单数),就是偶数[2](又称双数)。若某数是2的倍数,它就是偶数;若非,它就是奇数,可表示为2n+1(n为整数),即奇数除以二的余数是一。


所以,负数也可以是奇数~~题目是没问题的~~

哦。。。学习了
0 请登录后投票
   发表时间:2010-12-26  
沈冠军 写道
第一个会,第二个就不太清楚了



精度丢失,很隐蔽的问题。。
0 请登录后投票
   发表时间:2010-12-26  
第一个没注意过负数
第二个:System.out.println(2.00f-1.10f);
0 请登录后投票
   发表时间:2010-12-26  
programlv 写道
第一个没注意过负数
第二个:System.out.println(2.00f-1.10f);



最简单的做法,不错~
0 请登录后投票
   发表时间:2010-12-27  
Java Puzzle里这些问题都说过 float double那个是精度丢失问题 使用BigDecimal就好了。
0 请登录后投票
   发表时间:2010-12-27  
// f f f t f
// 0.8999999...

汗,其实我并不知道第一个的问题,只是觉得肯定有陷阱,但是1%2==1 肯定是true。
0 请登录后投票
   发表时间:2010-12-27  
Java解惑上有的
0 请登录后投票
   发表时间:2010-12-27  
苍山洱海 写道
false
false
false
true
false
0.8999999999999999

一看就知道是运行出来的结果!你人脑有那么精确吗?
不过楼主这注释好像偏离了重点!
0 请登录后投票
   发表时间:2010-12-27  
有点儿意思、、、、、、
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics