Java2实用教程(第二版)程序代码——第六章 时间、日期和数字
1
//例子1
2
import java.util.Date;
3
import java.text.SimpleDateFormat;
4
class 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
20
import java.util.Date;
21
class 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
47
import java.util.*;
48
class 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
72
import java.util.*;
73
class 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
102
import java.text.NumberFormat;
103
class 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![]()
//例子12
import java.util.Date;3
import java.text.SimpleDateFormat;4
class Example6_15
{ 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 20
import java.util.Date;21
class 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 47
import java.util.*;48
class Example6_349
{ 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 72
import java.util.*;73
class 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
else88
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 102
import java.text.NumberFormat;103
class Example6_5104
{ 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




浙公网安备 33010602011771号