您的位置:首页 > 编程语言 > Java开发

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

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

代码如下:

public class Fib{
final static int N = 92;
public static void main(String args[]){
long fibs[] = new long
;
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
;
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);
}
}
}


按照“XXXX年XX月XX日XX时XX分
星期X”格式(例如:2016年10月22日
23小时46分 下午 星期六)显示以下时间:

(1)当前时间。

(2)2016-9-1 22:40:30经过135天4000秒后的时间。

    * 要求用方法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,参数为8
System.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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: