Java2实用教程(第二版)程序代码——第六章 时间、日期和数字
1//例子1
2import java.util.Date;
3import java.text.SimpleDateFormat;
4class Example6_1
5{ public static void main(String args[])
6 { Date nowTime=new Date();
7 System.out.println("现在的时间:"+nowTime);
8 SimpleDateFormat matter1=new SimpleDateFormat("yyyy年MM月dd日 北京时间");
9 System.out.println("现在的时间:"+matter1.format(nowTime));
10 SimpleDateFormat matter2=
11 new SimpleDateFormat("yyyy年MM月Edd日HH时mm分ss秒 北京时间");
12 System.out.println("现在的时间:"+matter2.format(nowTime));
13 SimpleDateFormat matter3=
14 new SimpleDateFormat("北京时间dd日HH时MMM ss秒mm分EE");
15 System.out.println("现在的时间:"+matter3.format(nowTime));
16 }
17}
18
19//例子 2
20import java.util.Date;
21class Example6_2
22{ public static void main(String args[])
23 { long time1=System.currentTimeMillis();
24 Date date=new Date(time1);
25 System.out.println(date);
26 String s=String.valueOf(time1);
27 int length=s.length(); s=s.substring(length-8);
28 System.out.println(s);
29
30 long result=f(28);
31 System.out.println("result="+result);
32 long time2=System.currentTimeMillis();//计算f(28)之后的时间。
33 s=String.valueOf(time2);
34 length=s.length(); s=s.substring(length-8);
35 System.out.println(s);
36 System.out.println("用时:"+(time2-time1)+"毫秒");
37 }
38 public static long f(long n)
39 { long c=0;
40 if(n==1||n==2) c=1;
41 else if(n>=3) c=f(n-1)+f(n-2);
42 return c;
43 }
44}
45
46//例子 3
47import java.util.*;
48class Example6_3
49{ public static void main(String args[])
50 { Calendar calendar=Calendar.getInstance(); //创建一个日历对象。
51 calendar.setTime(new Date()); //用当前时间初始化日历时间。
52 String 年=String.valueOf(calendar.get(Calendar.YEAR)),
53 月=String.valueOf(calendar.get(Calendar.MONTH)+1),
54 日=String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)),
55 星期=String.valueOf(calendar.get(Calendar.DAY_OF_WEEK)-1);
56 int hour=calendar.get(Calendar.HOUR_OF_DAY),
57 minute=calendar.get(Calendar.MINUTE),
58 second=calendar.get(Calendar.SECOND);
59 System.out.println("现在的时间是:");
60 System.out.println(""+年+"年"+月+"月"+日+"日 "+ "星期"+星期);
61 System.out.println(""+hour+"时"+minute+"分"+second+"秒");
62 calendar.set(1962,5,29); //将日历翻到1962年6月29日,注意5表示六月。
63 long time1962=calendar.getTimeInMillis();
64 calendar.set(2003,9,5); //将日历翻到2003年10月5日。9表示十月。
65 long time2003=calendar.getTimeInMillis();
66 long 相隔天数=(time2003-time1962)/(1000*60*60*24);
67 System.out.println("2003年10月5日和1962年6月29日相隔"+相隔天数+"天");
68 }
69}
70
71//例子 4
72import java.util.*;
73class Example6_4
74{ public static void main(String args[])
75 { System.out.println(" 日 一 二 三 四 五 六");
76 Calendar 日历=Calendar.getInstance(); //创建一个日历对象。
77 日历.set(2004,0,1); //将日历翻到2004年1月1日,注意0表示一月。
78 //获取1日是星期几(get方法返回的值是1表示星期日,星期六返回的值是7):
79 int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;
80 String a[]=new String[星期几+31]; //存放号码的一维数组
81 for(int i=0;i<星期几;i++)
82 { a[i]="**";
83 }
84 for(int i=星期几,n=1;i<星期几+31;i++)
85 { if(n<=9)
86 a[i]=String.valueOf(n)+" ";
87 else
88 a[i]=String.valueOf(n) ;
89 n++;
90 }
91 //打印数组:
92 for(int i=0;i<a.length;i++)
93 { if(i%7==0)
94 { System.out.println(""); //换行。
95 }
96 System.out.print(" "+a[i]);
97 }
98 }
99}
100
101//例子 5
102import java.text.NumberFormat;
103class Example6_5
104{ public static void main(String args[])
105 { double a=Math.sqrt(5);
106 System.out.println("格式化前:"+a);
107 NumberFormat f=NumberFormat.getInstance();
108 f.setMaximumFractionDigits(5);f.setMinimumIntegerDigits(3);
109 String s=f.format(a);
110 System.out.println("格式化后:"+s);System.out.println("得到的随机数:");
111 int number=8;
112 for(int i=1;i<=20;i++)
113 { int randomNumber=(int)(Math.random()*number)+1;//产生1到8之间的随机数。
114 System.out.print(" "+randomNumber);
115 if(i%10==0)
116 System.out.println("");
117 }
118 }
119}
120
2import java.util.Date;
3import java.text.SimpleDateFormat;
4class Example6_1
5{ public static void main(String args[])
6 { Date nowTime=new Date();
7 System.out.println("现在的时间:"+nowTime);
8 SimpleDateFormat matter1=new SimpleDateFormat("yyyy年MM月dd日 北京时间");
9 System.out.println("现在的时间:"+matter1.format(nowTime));
10 SimpleDateFormat matter2=
11 new SimpleDateFormat("yyyy年MM月Edd日HH时mm分ss秒 北京时间");
12 System.out.println("现在的时间:"+matter2.format(nowTime));
13 SimpleDateFormat matter3=
14 new SimpleDateFormat("北京时间dd日HH时MMM ss秒mm分EE");
15 System.out.println("现在的时间:"+matter3.format(nowTime));
16 }
17}
18
19//例子 2
20import java.util.Date;
21class Example6_2
22{ public static void main(String args[])
23 { long time1=System.currentTimeMillis();
24 Date date=new Date(time1);
25 System.out.println(date);
26 String s=String.valueOf(time1);
27 int length=s.length(); s=s.substring(length-8);
28 System.out.println(s);
29
30 long result=f(28);
31 System.out.println("result="+result);
32 long time2=System.currentTimeMillis();//计算f(28)之后的时间。
33 s=String.valueOf(time2);
34 length=s.length(); s=s.substring(length-8);
35 System.out.println(s);
36 System.out.println("用时:"+(time2-time1)+"毫秒");
37 }
38 public static long f(long n)
39 { long c=0;
40 if(n==1||n==2) c=1;
41 else if(n>=3) c=f(n-1)+f(n-2);
42 return c;
43 }
44}
45
46//例子 3
47import java.util.*;
48class Example6_3
49{ public static void main(String args[])
50 { Calendar calendar=Calendar.getInstance(); //创建一个日历对象。
51 calendar.setTime(new Date()); //用当前时间初始化日历时间。
52 String 年=String.valueOf(calendar.get(Calendar.YEAR)),
53 月=String.valueOf(calendar.get(Calendar.MONTH)+1),
54 日=String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)),
55 星期=String.valueOf(calendar.get(Calendar.DAY_OF_WEEK)-1);
56 int hour=calendar.get(Calendar.HOUR_OF_DAY),
57 minute=calendar.get(Calendar.MINUTE),
58 second=calendar.get(Calendar.SECOND);
59 System.out.println("现在的时间是:");
60 System.out.println(""+年+"年"+月+"月"+日+"日 "+ "星期"+星期);
61 System.out.println(""+hour+"时"+minute+"分"+second+"秒");
62 calendar.set(1962,5,29); //将日历翻到1962年6月29日,注意5表示六月。
63 long time1962=calendar.getTimeInMillis();
64 calendar.set(2003,9,5); //将日历翻到2003年10月5日。9表示十月。
65 long time2003=calendar.getTimeInMillis();
66 long 相隔天数=(time2003-time1962)/(1000*60*60*24);
67 System.out.println("2003年10月5日和1962年6月29日相隔"+相隔天数+"天");
68 }
69}
70
71//例子 4
72import java.util.*;
73class Example6_4
74{ public static void main(String args[])
75 { System.out.println(" 日 一 二 三 四 五 六");
76 Calendar 日历=Calendar.getInstance(); //创建一个日历对象。
77 日历.set(2004,0,1); //将日历翻到2004年1月1日,注意0表示一月。
78 //获取1日是星期几(get方法返回的值是1表示星期日,星期六返回的值是7):
79 int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;
80 String a[]=new String[星期几+31]; //存放号码的一维数组
81 for(int i=0;i<星期几;i++)
82 { a[i]="**";
83 }
84 for(int i=星期几,n=1;i<星期几+31;i++)
85 { if(n<=9)
86 a[i]=String.valueOf(n)+" ";
87 else
88 a[i]=String.valueOf(n) ;
89 n++;
90 }
91 //打印数组:
92 for(int i=0;i<a.length;i++)
93 { if(i%7==0)
94 { System.out.println(""); //换行。
95 }
96 System.out.print(" "+a[i]);
97 }
98 }
99}
100
101//例子 5
102import java.text.NumberFormat;
103class Example6_5
104{ public static void main(String args[])
105 { double a=Math.sqrt(5);
106 System.out.println("格式化前:"+a);
107 NumberFormat f=NumberFormat.getInstance();
108 f.setMaximumFractionDigits(5);f.setMinimumIntegerDigits(3);
109 String s=f.format(a);
110 System.out.println("格式化后:"+s);System.out.println("得到的随机数:");
111 int number=8;
112 for(int i=1;i<=20;i++)
113 { int randomNumber=(int)(Math.random()*number)+1;//产生1到8之间的随机数。
114 System.out.print(" "+randomNumber);
115 if(i%10==0)
116 System.out.println("");
117 }
118 }
119}
120