Java实现万年历
来源:互联网 发布:mac usb转接口驱动 编辑:程序博客网 时间:2024/04/30 13:04
package pricate.use;
import java.util.Scanner;
//万年历
public class TestUse2 {
public static int year,weekDay;
public static void main(String[] args)throws Exception {
System.out.print("\t请输入一个年份:");
Scanner scn=new Scanner(System.in);
year=scn.nextInt();
weekDay=firstWeekOfYear(year);//计算这一年第一天星期几
System.out.println("\n\t***"+year+"年***");
showMonths();
}
public static boolean isLeapYear(int year)
{
if((year%4==0&&year%100!=0)||(year%400==0))
return true;
else
return false;
}
public static int firstWeekOfYear(int year)//判断一年第一天星期几
{
long day=year*365;
for(int x=1;x<year;x++)
{
if(isLeapYear(x))
day+=1;
}
return (int)day%7;
}
public static int getMonthOfdays(int month)//获取某一月的天数
{
switch(month)
{
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 showMonths()//显示12个月的所有日期
{
for(int m=1;m<=12;m++)
{
System.out.println("\t**"+m+"月**");
System.out.println("SUN MON TUE WED THU FRI SAT");
for(int j=1;j<=weekDay;j++)//按照每周第一天星期几之前有几天
{
System.out.print(" ");
}
int monthDay=getMonthOfdays(m);//获取某一天的天数
for(int d=1;d<=monthDay;d++)
{
if(d<10)
System.out.print(" "+"0"+d+" ");
else
System.out.print(" "+d+" ");
weekDay=(weekDay+1)%7;//判断下一天星期几
if(weekDay==0)//如果下一天是星期日,则换行
System.out.println();
}
System.out.println();
}
}
}
import java.util.Scanner;
//万年历
public class TestUse2 {
public static int year,weekDay;
public static void main(String[] args)throws Exception {
System.out.print("\t请输入一个年份:");
Scanner scn=new Scanner(System.in);
year=scn.nextInt();
weekDay=firstWeekOfYear(year);//计算这一年第一天星期几
System.out.println("\n\t***"+year+"年***");
showMonths();
}
public static boolean isLeapYear(int year)
{
if((year%4==0&&year%100!=0)||(year%400==0))
return true;
else
return false;
}
public static int firstWeekOfYear(int year)//判断一年第一天星期几
{
long day=year*365;
for(int x=1;x<year;x++)
{
if(isLeapYear(x))
day+=1;
}
return (int)day%7;
}
public static int getMonthOfdays(int month)//获取某一月的天数
{
switch(month)
{
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 showMonths()//显示12个月的所有日期
{
for(int m=1;m<=12;m++)
{
System.out.println("\t**"+m+"月**");
System.out.println("SUN MON TUE WED THU FRI SAT");
for(int j=1;j<=weekDay;j++)//按照每周第一天星期几之前有几天
{
System.out.print(" ");
}
int monthDay=getMonthOfdays(m);//获取某一天的天数
for(int d=1;d<=monthDay;d++)
{
if(d<10)
System.out.print(" "+"0"+d+" ");
else
System.out.print(" "+d+" ");
weekDay=(weekDay+1)%7;//判断下一天星期几
if(weekDay==0)//如果下一天是星期日,则换行
System.out.println();
}
System.out.println();
}
}
}
0 0
- java实现万年历查询
- java 实现万年历
- java代码实现万年历
- 万年历(java实现)
- Java实现万年历
- JAVA实现万年历
- java实现万年历
- Java-实现万年历
- Java实现的万年历
- 寿星万年历---java算法实现
- java控制台实现的万年历
- Java实现了一个万年历
- 使用Java实现万年历的格式打印
- java万年历
- java 万年历
- Java万年历
- JAVA万年历
- java 万年历
- java实现一个学生的一张考试成绩单
- 虚拟键盘遮挡popwindow的控件
- centos命令行常用快捷键
- Android Studio SHA1码查看方法
- 在家装后市场:享居派从刷墙开始,提供一个工种的标准化路径
- Java实现万年历
- 使用ViewPager动画来做出不一样的引导页
- Java中extends与implements的区别
- 对用DIV+CSS+JS实现多子部门组织结构图的改进
- Android-微信推荐文章集合后续不断更新
- Spring-Boot
- 20160811多校:(hdu5821 Ball)【贪心+排序】
- PHP编程效率的20个要点
- Linux下I/O多路转接之epoll(绝对经典)