表达式谜题(谜题均转自JAVA学习宝典)
来源:互联网 发布:自学编程应该看什么书 编辑:程序博客网 时间:2024/04/28 15:05
谜题1:奇数性
这个方法能正确运转吗?
public static boolean isOdd(int i){return i%2 == 1;}
解:在所有的int数值中,有一半是负数,而isOdd方法对于对所有负奇数的判断队会失败。当i是一个负奇数时,i%2等于-1而不是1因此isOdd方法将错误得返回false。
当取余操作返回一个非零的结果时,它与左操作数具有相同的正负符号。
以下两种方法就能正确的判断奇偶性。
public static boolean isOdd(int i){return i%2 != 0;}public static boolean isOdd(int i){return (i&1) != 0;}
谜题2:找零时刻
下面程序会打印出什么?
public class Change {public static void main(String arg[]){System.out.println(2.00 - 1.10);}}
解:问题在与1.1这个数字不能被精确表示成为一个double,因此它被表示成为最接近它的double值。该程序从2中减去的就是这个值。
在需要精确答案的地方,要避免使用float和double;对于货比计算,要使用int、long或BigDecimal。
方法1://使用二进制浮点数System.out.printf("%.2f%n",2.00 - 1.10);方法2:
//使用BigDecimal(String)而不是BigDecimal(double).后一个构造器将用其参数的"精确"值来创建一个实例System.out.println(new BigDecimal("2.00").subtract(new BigDecimal("1.10")));
0 0
- 表达式谜题(谜题均转自JAVA学习宝典)
- 字符谜题(谜题均转自JAVA学习宝典)
- 循环谜题(谜题均转自JAVA学习宝典)
- java学习宝典总结
- java学习宝典总结
- <<java面试宝典>>学习笔记
- js宝典学习笔记,记录JAVA SCRIPT宝典中的内容
- java面试宝典学习笔记(一)
- java面试宝典学习笔记(二)
- java面试宝典学习笔记(三)
- Java基础学习(面试宝典):
- java 宝典
- java宝典
- [《think in java》学习——操作符]自增自减符号和表达式执行的顺序
- Java表达式谜题
- 《Java程序员面试宝典》学习笔记(基本语法部分)
- 《Java程序员面试宝典》学习笔记(数据结构部分)
- 《Java程序员面试宝典》学习笔记(设计模式部分)
- lay lie lie
- 程序猿如何“智斗”产品经理
- 树莓派3一根网线直连电脑(针对树莓派不能上网有方法解决)
- git rebase 和 git fetch 区别
- 文章标题
- 表达式谜题(谜题均转自JAVA学习宝典)
- 杭电题型
- HDU 1251 统计难题
- git创建分支添加远程仓库上传
- 元素只能在固定窗口内拖动
- codeforces 617E. XOR and Favorite Number (莫队)
- Linux中数据库mysqladmin登录错误的解决办法
- 安卓自定义View实现简单折线图
- Caffe框架的理解(一):从blob到layer到net