用java实现打印任一年的日历
来源:互联网 发布:淘宝店招和导航做全屏 编辑:程序博客网 时间:2024/04/28 02:42
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- public class TextControl {
- static int year,monthDay,weekDay; //定义静态变量,以便其它类调用
- public static void main(String[] args) throws IOException
- {
- System.out.print("请输入一个年份:");
- InputStreamReader ir; //以下6行代码接受从控制台输入
- BufferedReader in;
- ir=new InputStreamReader(System.in);
- in=new BufferedReader(ir);
- String s=in.readLine();
- year=Integer.parseInt(s);
- weekDay=firstDay(year); //计算该年第一天是星期几
- System.out.println("/n "+year+"年 ");
- printMonth();
- }
- public static boolean isLeapYear(int y) //叛别是否是闰年
- {
- return ((y%4==0 && y%100!=0) || (y%400==0));
- }
- public static int firstDay(int y) //计算该年第一天是星期几
- {
- long n=y*365;
- for(int i=1;i<y;i++)
- if(isLeapYear(i))
- n+=1;
- return (int)n%7;
- }
- public static void printWeek() //打印标头
- {
- System.out.println("===========================");
- System.out.println("日 一 二 三 四 五 六");
- }
- public static int getMonthDay(int m) //获取每个月的天数
- {
- switch(m)
- {
- case 1:
- case 3:
- case 5:
- case 7:
- case 8:
- case 10:
- case 12: return 31;
- case 4:
- case 6:
- case 9:
- case 11: return 30;
- case 2:
- if(isLeapYear(year)) return 29;
- else return 28;
- default: return 0;
- }
- }
- public static void printMonth() //分别按不同条件逐月打印
- {
- for(int m=1;m<=12;m++) //循环
- {
- System.out.println(m+"月");
- printWeek();
- for(int j=1;j<=weekDay;j++) //按每个月第一天是星期几打印相应的空格
- System.out.print(" ");
- int monthDay=getMonthDay(m); //获取每个月的天数
- for(int d=1;d<=monthDay;d++)
- {
- if(d<10) //以下4行对输出格式化
- System.out.print(d+" ");
- else
- System.out.print(d+" ");
- weekDay=(weekDay+1)%7; //每打印一天后,反应第二天是星期几
- if(weekDay==0) //如果第二天是星期天,便换行。
- System.out.println();
- }
- System.out.println('/n');
- }
- }
这个程序是在某本书上看到的,但是中间一个方法不太清除,下面这段:
- public static int firstDay(int y) //计算该年第一天是星期几
- {
- long n=y*365;
- for(int i=1;i<y;i++)
- if(isLeapYear(i))
- n+=1;
- return (int)n%7;
- }
请知道的同学,老师给予指点,不胜感激
- 用java实现打印任一年的日历
- 打印任一年日历
- 用java实现打印日历的方法
- java 实现打印当前月份的日历
- Java程序编写实现日历的打印
- java实现一个月的日历打印
- 用java实现:根据用户输入的年份打印该年的日历
- 用java打印日历
- 用JAVA打印当前月份的日历
- java Calendar 日历的打印
- java实现输入指定年打印该年日历练习
- 用JAVA打印日历1.0
- java实现的日历
- 打印某一年的日历
- 打印某一年的日历,
- 用java写的打印日历小程序
- Java递归实现删除树形结构的任一节点
- (Java)打印指定年月的日历
- student
- 自定义jsp标签
- 烦,
- 计算机网络知识
- ajax 用户 登录 功能
- 用java实现打印任一年的日历
- Web Service获取天气预报
- 关于C的书面格式
- 通信 socket
- C#操作Xml的两种方式 XPath XmlDocument
- Coolite新手教程一AjaxEvent、AjaxMethod和Listeners
- 如何限制应用程序只运行一次
- jsp mysql 的乱码问题以及解决方法
- jsp连接MySQL