1.Java实验1.基础使用和Date,Calendar类

来源:互联网 发布:ubuntu ntfs 移动硬盘 编辑:程序博客网 时间:2024/05/21 21:47

课程实验题目都比较简单,其中一道是要得到斐波那契数列,验证后项与前项的比值最终收敛:

代码如下:

public class Fib{final static int N = 92;    public static void main(String args[]){long fibs[] = new long[N] ;fibs[0] = 0L;fibs[1] = 1L;int i = 2;while(i < N){fibs[i] = fibs[i-1] + fibs[i-2];i++;}       System.out.println(fibs[N-1]); double nums[] = new double[N];nums[0] = 0;nums[1] = 1;i = 2;while(i < N){nums[i] = 1.0 * fibs[i] / fibs[i-1];i++;}for(double rate : nums){System.out.println(rate); }    }}

按照XXXXXXXXXXXX分 星期X”格式(例如:2016102223小时46分 下午 星期六)显示以下时间:

1)当前时间。

22016-9-1 22:40:30经过1354000秒后的时间。

    * 要求用方法getCnDate(Calendar cal)返回cal中的中文时间,星期几需要用switch语句实现。代码如下:

import java.util.*; import java.text.*; public class ShowDate{    public static void main(String args[]) throws Exception {Date now = new Date();System.out.println("now: "+now);Calendar cal=Calendar.getInstance();cal.setTime(now);System.out.println("(1). "+getCnDate(cal)); cal.set(2016,8,1,22,40,30);//设置的是9月,但是需要-1,参数为8System.out.println("设置的对象中,得不到星期几:"+getCnDate(cal));cal.add(Calendar.DAY_OF_YEAR,135);cal.add(Calendar.SECOND,4000);System.out.println("(2). "+getCnDate(cal));    }    static String getCnDate(Calendar cal){String ans = "";ans += (cal.get(Calendar.YEAR)+ "年" + (int)(cal.get(Calendar.MONTH)+1) + "月" + cal.get(Calendar.DAY_OF_MONTH) + "日");ans += (cal.get(Calendar.HOUR_OF_DAY) + "时" + cal.get(Calendar.MINUTE) + "分" + "星期" );String temp = "";switch (cal.get(Calendar.DAY_OF_WEEK)){case 1:temp = "天";break; //星期天是一周的开始case 2:temp = "一";break;case 3:temp = "二";break;case 4:temp = "三";break;case 5:temp = "四";break;case 6:temp = "五";break;case 7:temp = "六";break;}System.out.println("DAY_OF_WEEK得到的值是:"+ cal.get(Calendar.DAY_OF_WEEK));ans += temp;return ans;    } }


这里直到我后来复习的时候才发现了我一些知识误区和这个Calendar类的使用方法:

1. 在获取月份时,Calendar.MONTH + 1 的原因 Java中的月份遵循了罗马历中的规则:当时一年中的月份数量是不固定的,

第一个月是JANUARY。而Java中Calendar.MONTH返回的数值其实是当前月距离第一个月有多少个月份的数值,JANUARY在Java

中返回“0”,所以我们需要+1。

2. 在获取星期几 Calendar.DAY_OF_WEEK – 1 的原因

Java中Calendar.DAY_OF_WEEK其实表示:一周中的第几天,所以他会受到  第一天是星期几的影响。

有些地区以星期日作为一周的第一天,而有些地区以星期一作为一周的第一天,这2种情况是需要区分的。

参考至:http://www.tuicool.com/articles/Avqauq

0 0
原创粉丝点击