用Java控制台应用程序做的万年历

来源:互联网 发布:华硕路由器 知乎 编辑:程序博客网 时间:2024/06/06 12:49

        今天接触了Java的Date类,相信像我一样初学Java的人肯定对Java的常用类充满好奇,它们都有哪些方法,那些属性,好奇心驱使查阅了API文档,心血来潮,花了一晚上写了一个万年历,个人觉得虽然程序实现很简单但是还算实用,嘿嘿。先看看效果。。。

      测试这个月(2015年09月)的效果


   然后再看看2015(平)年2月份的效果          还有2016(闰)年2月份的效果                   

现在将我做的代码分享给大家(不足之处在所难免,我是初学,大家为我指出不足之处,我好完善,另外也可把代码直接拷走放在Eclipse上运行),已经多次测试准确无误!。




import java.util.Calendar;
import java.util.Scanner;

public class TestDate {

public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请输入年份:");
int year=input.nextInt();
System.out.print("请输入月份:");
int month=input.nextInt();

Calendar rightNow = Calendar.getInstance();
rightNow.set(year, month - 1,1);

int week = rightNow.get(Calendar.DAY_OF_WEEK) - 1;//获取当月第一日是星期几,存入week中



//System.out.print(rightNow.getTime());
int[] cal = new int[42];//开一个长度为42数组,存放日历

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
for(int i=1;i<=31;i++){
cal[week]=i;//从星期几开始存入1号
week++;
}
}

if(month==4||month==6||month==9||month==11){
for(int i=1;i<=30;i++){
cal[week]=i;//从星期几开始存入1号
week++;
}
}


//判断平年闰年
if(year%400==0||(year%4==0 && year%100!=0)){//闰年
if(month==2){//闰年2月份
for(int i=1;i<=29;i++){
cal[week]=i;//从星期几开始存入1号
week++;
}
}
}else{// 平年
if (month==2){//平年二月份
for(int i=1;i<=28;i++){
cal[week]=i;//从星期几开始存入1号
week++;
}
}
}

System.out.println("日 六 ");
//输出日历
int count = 0;
for(int i=0;i<42;i++){
if(cal[i]!=0){
System.out.print(cal[i]);
}
System.out.print("\t");

count++;
if(count%7==0){
System.out.println();
}
 
}

}


}


0 0
原创粉丝点击