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
104public 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
posted @ 2005-05-27 08:49  Rookie.Zhang  阅读(763)  评论(0编辑  收藏  举报