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
代码如下:
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
相关文章推荐
- Java基础:Date和Calendar类的使用方法
- 使用Java中的Date和Calendar类
- Java基础之Date对象的使用
- 【java基础】【SimpleDateFormat类使用】
- 如何使用Java中的Date和Calendar类
- java 基础 简单正则表达式使用规则、Math类、Random类、System类、BigInteger类、BigDecimal类、Date类、SimpleDateFormat类、Calendar类
- Java中Date和Calendar类的使用
- Date类、Calendar类与SimpleDateFormat类-Java基础063
- 使用Java中的Date和Calendar类
- JAVA基础再回首(十三)——BigInteger类、BigDecimal类、Date类、DateFormat类、Calendar类
- JAVA基础学习之final关键字、遍历集合、日期类对象的使用、Math类对象的使用、Runtime类对象的使用、时间对象Date(两个日期相减)(5)
- java基础学习_常用类04_正则表达式、Math类、Random类、System类、BigInteger类、BigDecimal类、Date和DateFormat类、Calendar类_day14总结
- 如何使用Java中的Date和Calendar类
- 使用Java中的Date和Calendar类
- Java中正则表达式和常用的Math、Random、System、BigInteger、BigDecimal、Date/DateFormat、Calendar类的使用
- Java学习--(十一)包装类,Date,SimpleDateFormat,Calendar类的使用
- java中的Date和Calendar类的使用.还有math类种的函数使用
- Java中Date和Calendar类的简单使用
- Java基础第十天--Date类,DateFormat类,Calendar类,System类
- 黑马程序员—java技术blog—第一篇:Date和Calendar类的使用方法