2013蓝桥杯省赛JAVA“世纪末的星期“分析重点及代码

今天开始2020准备蓝桥杯省赛

准备内容:Eclipse

1.题目:1999年的12月31日是星期五,问哪一个离我们最近的世纪年末,即(xx99年)的12月31日是星期日。

package shengsai;

import java.util.Calendar;

public class shijimori01 {
  public static void main(String args[]) 
  {
	  Calendar calendar =Calendar.getInstance();
	  for(int year=1999;year<10000;year+=100)
	  {
		  calendar.set(Calendar.YEAR, year);
		  calendar.set(Calendar.MONTH, 11);//MONTH从0开始计数
		  calendar.set(Calendar.DAY_OF_MONTH, 31);
		  System.out.println(year+" "+calendar.get(Calendar.DAY_OF_WEEK));
		  if(calendar.get(Calendar.DAY_OF_WEEK)==1)//DAY_OF_MONTH从周日开始,周日==1,周日==2...
				  {
			  System.out.println(year);
				  break;
				  }
 }
			 
	}
		
	}

二、相关知识点:

Calendar类

1.常用成员变量

YEAR 指示年的 get 和 set 的字段数字。
MONTH 指示月份的 get 和 set 的字段数字。
DAY_OF_MONTH get 和 set 的字段数字, 指示一个月中的某天。
DAY_OF_WEEK get 和 set 的字段数字, 指示一个星期中的某天。
DAY_OF_YEAR get 和 set 的字段数字, 指示当前年中的天数。
DAY_OF_WEEK_IN_MONTH get 和 set 的字段数字, 指示当前月中的第几个星期。
HOUR get 和 set 的字段数字,指示当天中的某小时
MINUTE get 和 set 的字段数字,指示当前小时中的某分钟
SECOND get 和 set 的字段数字,指示当前分钟中的某秒
time 以毫秒为单位,表示自格林威治标准时间 1970 年 1月 1 日 0:00:0

2.常用方法

①Clendar类的实例化

getInstance();//返回一个默认时区和语言环境的日历

Calendar calendar = Calendar.getInstance();//赋值给calendar

  ②设置特定日期

  set(int field, int value);//第一个参数是日期字段,诸如YEAR、MONTH 等将给定的日历字段设置为给定值。
  set(int year, int month, int date)// 设置日历字段年月日的值

Calendar calendar = Calendar.getInstance();//创建个实例
1.int year = 2020;
int month = 1;//1是二月 0是1月
int day = 1;
calendar.set(Calendar.YEAR, year);// 将year的值赋给calender的YEAR字段
calendar.set(Calendar.MONTH, month);//将month的值赋给calender的MONTH字段
calendar.set(Calendar.DAY_OF_MONTH);//将day的值赋值给calendder的DAT_OF_MONTH字段

    MONTH字段是从0月开始计数的,所以12月对应的值是11。

     DAY_OF_WEEK中星期天对应的是1,星期一对应的是2,星期六对应的是7

     YEAR和DAY_OF_MONTH都是从1开始计数

③获取当前Calender实例的字段信息

    get(int field);// 获取给定字段的值

Calendar calendar = Calendar.getInstance();
// 设置日期为: 1999.12.31
calendar.set(Calendar.YEAR, 1999);
calendar.set(Calendar.MONTH, 13);
calendar.set(Calendar.DAY_OF_MONTH, 31);
// 获取1999.12.31是星期几
System.out.print(calendar.get(Calendar.DAY_OF_WEEK));

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值