Java每日解惑

 1 package jinlai.ding.com.javajiehuo;
 2
 3 import java.math.BigDecimal;
 4
 5 public class IsOld {
 6
 7     /**
 8      * 判断奇数((计算一个数字是否奇数))
 9      * @param args
10      */
11     public static void main(String[] args) {
12         //谜题1:奇数性
13         System.out.println(isOld(-3));
14         System.out.println(isOldYes(-3));
15         //谜题2:找零时刻
16         System.out.println(2.00 - 1.10);
17         System.out.println((200 - 110) + "cents");
18         System.out.println(new BigDecimal("2.00").subtract(new BigDecimal("1.10")));
19         //谜题3:长整数
20         System.out.println(longDivision());
21         System.out.println(longDivisionL());
22         //谜题4:初级问题
23         System.out.println(12345 + 54321);
24         System.out.println(12345 + 5432l);
25         System.out.println(12345 + 5432L);
26         //谜题5:十六进制的趣事
27         System.out.println(Long.toHexString(0x100000000L + 0xcafebabe));
28         System.out.println(Long.toHexString(0x100000000L + 0xcafebabeL));
29
30     }
31
32     /**
33      * 错误的判断方法
34      * @param i
35      * @return
36      */
37     public static boolean isOld(int i){
38         return i % 2 ==1;
39     }
40
41     /**
42      * 正确的判断方法
43      * @param i
44      * @return
45      */
46     public static boolean isOldYes(int i){
47         return (i & 1) != 0;
48     }
49     /**
50      * 微妙除以毫秒 溢出计算
51      * @return
52      */
53     public static long longDivision(){
54         final long MICROS_PER_DAY = 24 * 60 * 60 * 1000 * 1000;
55         final long MILLIS_PER_DAY = 24 * 60 * 60 * 1000;
56         return MICROS_PER_DAY / MILLIS_PER_DAY;
57     }
58     /**
59      * 微妙除以毫秒 不溢出计算
60      * @return
61      */
62     public static long longDivisionL(){
63         final long MICROS_PER_DAY = 24L * 60 * 60 * 1000 * 1000;
64         final long MILLIS_PER_DAY = 24L * 60 * 60 * 1000;
65         return MICROS_PER_DAY / MILLIS_PER_DAY;
66     }
67
68 }

时间: 2024-08-05 16:04:30

Java每日解惑的相关文章

java每日小算法(27)

/* [程序27]  题目:求100之内的素数    */ package test; import java.util.Scanner; public class test { public static boolean prime(int number) { boolean flag = true; int mid = (int)Math.sqrt(number); for(int i = 2; i< mid+1; i++) { if(number % i == 0) { flag = fa

java每日小算法(4)

[程序4] 题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步. (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步. package test; import java.util.ArrayList;

【Java每日一题】20161103

package Nov2016; import java.util.List; public class Ques1103 { public void method01(String[] array){} public void method01(Integer[] array){} public void method02(List<String> list){} public void method02(List<Integer> list){} } 今日问题: 请问主程序能否

【Java每日一题】20170321

20170320问题解析请点击今日问题下方的"[Java每日一题]20170321"查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; public class Ques0321 { public static void main(String[] args) { Ques0321 test = new Ques0321(); test.method(null); } public void method(Object o) { System

【Java每日一题】20170109

20170106问题解析请点击今日问题下方的"[Java每日一题]20170109"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; import java.util.ArrayList; import java.util.List; public class Ques0109<T> { private T t = new T(); private T[] array = new T[3]; private List<T&

【Java每日一题】20161212

package Dec2016;      public class Ques1212 {      public static void main(String[] args){          System.out.println(10.00-9.60);      }   } 今日问题: 请问主程序中输出结果是什么?(点击以下"[Java每日一题]20161212"查看20161209问题解析) 题目原发布于公众号.简书:[Java每日一题]20161212,[Java每日一题

【Java每日一题】20161201

20161130问题解析请点击今日问题下方的"[Java每日一题]20161201"查看 package Dec2016; public class Ques1201 { public static void main(String[] args) { new Ques1201().sum(1, 2); } public void sum(int num1, int num2){ int temp = num1 + num2; System.out.println("没使用变

【Java每日一题】20161130

20161129问题解析请点击今日问题下方的"[Java每日一题]20161130"查看 package Nov2016; public class Ques1130 { public static void main(String[] args) { int i = 1; Ques1130.test(i); Ques1130.test(Integer.valueOf(i)); } public static void test(long n){ System.out.println(

java每日小算法(10)

/*[程序10]  题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? */ package test; public class test { public static void main(String[] args) { // TODO Auto-generated method stub double high = 100.0; double jump = 0.0; double sum = 0.0; for(