`
贫僧不吃肉
  • 浏览: 62977 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

请您先登录,才能继续操作

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

阅读更多

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

 

先申明:大虾们就别看了哈,你们懂的~

 

没看过的同学就当学习,

看过了的同学就当温习。

 

 

祝大家天天进步~

 

public class Problems {
	
	//判断是否为奇数,是就返回true
	public static boolean isOdd(int i){
		return i % 2==1;    
	}
	
	public static void main(String[] args){
		for(int i=-2;i<=2;i++){
		System.out.println(isOdd(i));
		}
		System.out.println(2.00-1.10);
	}
	//请问,这段程序将会输出什么?
           //请解释并优化该代码
}

 

分享到:
评论
39 楼 361010911 2011-04-23  
yangyi 写道
    public static boolean isOdd(int i){
    return (i & 1) == 1;
    } 

牛叉!
38 楼 361010911 2011-04-23  
苍山洱海 写道
false
false
false
true
false
0.8999999999999999

答案是这样的。
37 楼 cranklau 2010-12-29  
我不给力

0
-1
0
1
0
0.89999999...


程序执行一下才发现
false
false
false
true
false
0.8999999999999999


搞笑了,呵呵
36 楼 imtinx 2010-12-28  

import java.math.*;
public class Problems {
	
	//判断是否为奇数,是就返回true
	public static boolean isOdd(int i){
		return (i&1)== 1;    
	}
	
	public static void main(String[] args){
		for(int i=-2;i<=2;i++){
		System.out.println(isOdd(i));
		}
		//字符串构造的BigDecimal进行精确运算
		BigDecimal a = new BigDecimal("2.00");
		BigDecimal b = new BigDecimal("1.10");
		System.out.println(a.subtract(b));
	}
}

35 楼 laobian 2010-12-28  
xieyan 写道
dsjt 写道
xieyan 写道
for (int i = -2; i <= 2; i++) {
System.out.println((i % 2 != 0));
}

System.out.println(2.00f - 1.10f);

就可以得到想要的结果。


下面的代码确实可以实现,但是语义不明确,会给以后的维护增加难度(别人要去理解你想表达的意思)。
for (int i = -2; i <= 2; i++) {
System.out.println((i & 1) == 1);
}


(i & 1) == 1   何处语义不明?



①i % 2 != 0
②(i & 1) == 1
假设我们从非专业的编成人员(例如:客户)来看,
①方案很容易让人明白是求奇数,②方案不容易让人理解。

这个解法好
34 楼 xieyan 2010-12-28  
dsjt 写道
xieyan 写道
for (int i = -2; i <= 2; i++) {
System.out.println((i % 2 != 0));
}

System.out.println(2.00f - 1.10f);

就可以得到想要的结果。


下面的代码确实可以实现,但是语义不明确,会给以后的维护增加难度(别人要去理解你想表达的意思)。
for (int i = -2; i <= 2; i++) {
System.out.println((i & 1) == 1);
}


(i & 1) == 1   何处语义不明?



①i % 2 != 0
②(i & 1) == 1
假设我们从非专业的编成人员(例如:客户)来看,
①方案很容易让人明白是求奇数,②方案不容易让人理解。
33 楼 dsjt 2010-12-28  
xieyan 写道
for (int i = -2; i <= 2; i++) {
System.out.println((i % 2 != 0));
}

System.out.println(2.00f - 1.10f);

就可以得到想要的结果。


下面的代码确实可以实现,但是语义不明确,会给以后的维护增加难度(别人要去理解你想表达的意思)。
for (int i = -2; i <= 2; i++) {
System.out.println((i & 1) == 1);
}


(i & 1) == 1   何处语义不明?
32 楼 hong_kun 2010-12-28  
运行一下,哈哈。关于结果小数点后有很多位,我们讨论过是因为二进制的计算问题。
31 楼 Javakeith 2010-12-27  
ouchxp 写道
贫僧不吃肉 写道

  2.00-1.10那个。。
  貌似是java对浮点数的表示的方面有问题。。

经典的精度丢失问题.不只是Java的问题.
精确计算,要使用BigDecimal

精度丢失问题这里有详细论述
http://hxraid.iteye.com/blog/504293

这个解释给力!
30 楼 xieyan 2010-12-27  
for (int i = -2; i <= 2; i++) {
System.out.println((i % 2 != 0));
}

System.out.println(2.00f - 1.10f);

就可以得到想要的结果。


下面的代码确实可以实现,但是语义不明确,会给以后的维护增加难度(别人要去理解你想表达的意思)。
for (int i = -2; i <= 2; i++) {
System.out.println((i & 1) == 1);
}
29 楼 lxs647 2010-12-27  
有点儿意思、、、、、、
28 楼 java_xiaoqiang 2010-12-27  
苍山洱海 写道
false
false
false
true
false
0.8999999999999999

一看就知道是运行出来的结果!你人脑有那么精确吗?
不过楼主这注释好像偏离了重点!
27 楼 haojia716 2010-12-27  
Java解惑上有的
26 楼 izat 2010-12-27  
// f f f t f
// 0.8999999...

汗,其实我并不知道第一个的问题,只是觉得肯定有陷阱,但是1%2==1 肯定是true。
25 楼 sunofsummer 2010-12-27  
Java Puzzle里这些问题都说过 float double那个是精度丢失问题 使用BigDecimal就好了。
24 楼 贫僧不吃肉 2010-12-26  
programlv 写道
第一个没注意过负数
第二个:System.out.println(2.00f-1.10f);



最简单的做法,不错~
23 楼 programlv 2010-12-26  
第一个没注意过负数
第二个:System.out.println(2.00f-1.10f);
22 楼 贫僧不吃肉 2010-12-26  
沈冠军 写道
第一个会,第二个就不太清楚了



精度丢失,很隐蔽的问题。。
21 楼 heisedeyueya 2010-12-26  
贫僧不吃肉 写道
heisedeyueya 写道
自然数才有奇数与偶数的说法,而负数不是自然数。这个题目只能得出余数是0还是1,所以题目本身就有一点儿问题。


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

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


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


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

哦。。。学习了
20 楼 twojinyong 2010-12-26  
java解惑谜题1和2

相关推荐

    大数据面试笔试资料-56家互联网大公司面试笔试题资料整理汇总.zip

    大数据面试笔试资料-56家互联网大公司面试笔试题资料整理汇总: hive面试.doc 京东.jpg 笔试题1.docx 笔试题10.jpg 笔试题11.JPG 笔试题12_搜狐 笔试题13_九章云极科技有限公司 笔试题14_北京东方国信科技股份有限...

    嵌入式软件笔试题合集.zip

    嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集...

    C++面试题笔试题C++ 数据结构算法笔试题资料合集.zip

    C++面试题笔试题C++ 数据结构算法笔试题资料合集: 50个C、C++面试题.pdf C++ 数据结构、算法笔试题.docx C++基础面试题.docx C++开发工程师面试题库.docx C++技能测试试卷一及答案.docx C++技能测试试卷二及答案....

    中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题

    中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题 v中兴笔试题 中兴笔试题 ...中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题

    java笔试题笔试题

    java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 ...

    华信笔试题笔试题笔试题

    大连华信去年的笔试题,可以给各位即将工作的同学一些参考

    C#笔试题大全C#笔试题大全C#笔试题大全.

    C#笔试题大全C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.,让你...

    2012-2015历年中国移动笔试真题资料移动招聘合集.zip

    2013年四川移动校招笔试题.zip 2014年中国移动招聘笔试试题及答案.pdf 2015年中国移动招聘笔试试题及答案.pdf 移动笔试真题之市场营销类--中国移动校园招聘客服人员试题及答案.pdf 移动笔试真题之技术类--2010年厦门...

    销售人员笔试试题.docx

    2. 销售人员笔试题的分类:销售人员笔试题可以分为选择题、简答题和论述题等。 3. 销售人员笔试题的特点:销售人员笔试题具有多样性、实践性和策略性等特点。 销售人员笔试题的知识点 1. 市场营销战略:无差异...

    c++笔试题汇总c++笔试题汇总.rar

    c++笔试题汇总.rarc++笔试题汇总.rarc++笔试题汇总.rarc++笔试题汇总.rarc++笔试题汇总.rarc++笔试题汇总.rarc++笔试题汇总.rarc++笔试题汇总.rarc++笔试题汇总.rarc++笔试题汇总.rarc++笔试题汇总.rar

    华为软件研发面试题 软件研发笔试题 华为C++笔试题

    一般是几个人一组,搞排名什么的,比如给你 10 个城市让你排名,记住一定要发言. 华为集体面试(二) 接着,第二组再被提问。问题仍然是比较尖刻,或者说更加尖刻。最后,每个人被要求按照每贡献率给同组的每 个人...

    JSD面试笔试题汇总 JSD面试笔试题汇总

    JSD面试笔试题汇总JSD面试笔试题汇总JSD面试笔试题汇总JSD面试笔试题汇总JSD面试笔试题汇总JSD面试笔试题汇总JSD面试笔试题汇总JSD面试笔试题汇总JSD面试笔试题汇总JSD面试笔试题汇总JSD面试笔试题汇总JSD面试笔试题...

    超级给力的嵌入式C语言单片机方面的笔试题,

    超级给力的嵌入式C语言单片机方面的笔试题 本资源提供了一个面试题集,涵盖了C语言、嵌入式系统、单片机等方面的知识点。该资源非常全面,涵盖了预处理器、宏、数据声明、死循环等多个方面的知识点。 预处理器...

    java面试笔试资料java笔试题大集合及答案题库java笔试题汇总资料188个合集.zip

    java面试笔试资料java笔试题大集合及答案题库java笔试题汇总资料188个合集 100家大公司java笔试题汇总.doc 125条常见的java 面试笔试题大汇总.pdf 2011最新整理java经典代码.doc 25个经典的Spring面试问答.docx ...

    阿里巴巴校招前端笔试题

    阿里巴巴校招前端笔试题 校招前端笔试题.pages

    Java笔试题代码.png

    该文件为山大地纬Java开发岗笔试试题 该文件为山大地纬Java开发岗笔试试题 该文件为山大地纬Java开发岗笔试试题 该文件为山大地纬Java开发岗笔试试题 该文件为山大地纬Java开发岗笔试试题

    2021紫光笔试题IC校招笔试题.zip

    《2021紫光笔试题IC校招笔试题》是一个针对集成电路(IC)行业的笔试题目集合,主要针对应届毕业生的招聘过程。紫光集团是中国知名的集成电路设计与制造企业,其笔试题目的涵盖范围广泛,旨在测试应聘者的专业知识、...

    数字马力笔试题.docx

    数字马力笔试题 本文总结了数字马力的笔试题,涵盖了软件测试岗位的简历筛选笔试题,涉及到了接口自动化测试、Java/Python 实现多线程的方法等知识点。 接口自动化测试 在软件测试中,接口自动化测试是一个重要的...

    2009福富笔试题(java,c/c++)海外,电信

    2009福富笔试题(java,c/c++)海外,电信 以下是从给定的文件信息中生成的相关知识点: 1. 复习要点1.jsp 基础(转向,9 大对象) 知识点:jsp 基础、服务器端编程、Java Web 开发 解释:jsp 是一种服务器端编程语言...

Global site tag (gtag.js) - Google Analytics