本文主要是介绍java编写日历表_java建立日历表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 建立日历表主要步骤
1.1 获取输入年距1900年1月1日(星期一)的天数。
1.2 判断输入月的第一天是星期几。
1.3 获取输入月的总天数。
1.4 生成日历表
2 代码
2.1 判断闰年 (能被4整除且不能被100整除或能被400整除)
static int text_1(int year) //判断闰年 是返回值为 1
{int q; //返回的值作为判断
if(year%4==0&&year%100!=0||year%400==0)
{
q=1;
System.out.println("true");returnq;
}else{
q=0;
System.out.println("false");returnq;
}
2.2 判断输入月份(1,3,5,7,8,10,12月份是31天,4,6,9,11月份是30天,2 月份闰年29天平年28天)
static int text_2(int year, int p_month) //判断月份的天数
{int y = text_1(year); //定义 y 为 判断闰年的返回值
int month=0;switch(p_month) {case 2: {intn;
n= (y == 1) ? 29 : 28; //判断 y=1时取29 否则取 28
month=n;
}break;case 1:case 3:case 5:case 7:case 8:case 10:case 12:
month=31;break;case 4:case 6:case 9:case 11:
month=30;break;default:
System.out.println("输入月份错误!");
}
System.out.println(month);returnmonth;
}
2.3 计算年天数
static int text_3(int year)//计算年距1900年的天数
{int all_year=0;for(int h=1900;h
{int u=text_1(h); //调用判断 闰年 h 从1900开始
int i=(u==1)?366:365; //根据返回值判断
all_year+=i; //计算天数
}
System.out.println(all_year);returnall_year;
}
2.4 计算月天数
static int text_4(int year,int month) //判断输入月前的天数
{int q = 0;int all_month=0;for(int t=1;t
{
q=text_2(year,t); //调用判断月份
all_month+= q; //计算天数
}
System.out.println(all_month);returnall_month;
}
2.5 计算日历表排列规律并输出
static void text_5(int year,intmonth)
{int n = text_2(year, month); //调用 判断月份
int m = text_3(year); //年天数
int k = text_4(year,month); //月天数
int all_day = m + k; //总天数
int month_firstday = all_day + 1; //输入月份的第一天
int week = month_firstday%7;//判断第一天是星期几(周一至周六:1~6 周天:0)
int time=week;//判断第一天前的空间(星期值-1)
if(time==0)
{
time=7; //当week=0时是星期天
}for(int u=0;u
System.out.print("\t\t");//输出空间
for(int y=1;y<=n;y++)
{
System.out.print(" "+y+"\t\t"); //输出月的天数
week=week%7; //判断星期
if(week%7==0)
{
System.out.println(" "); //星期天时换行
}
week++; //星期值+1
}
}
3 全部代码
public class text {
static int text_1(int year) //判断闰年 是返回值为 1
{
int q; //返回的值作为判断
if(year%4==0&&year%100!=0||year%400==0)
{
q=1;
return q;
}
else
{
q=0;
return q;
}
}
static int text_2(int year, int p_month) // 判断月份的天数并返回
{
int y = text_1(year); // 定义 y 为判断闰年的返回值
int month=0;
switch (p_month) {
case 2: {
int n;
n = (y == 1) ? 29 : 28; //判断 y=1时取29 否则取 28
month=n;
}
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
month=31;
break;
case 4:
case 6:
case 9:
case 11:
month=30;
break;
default:
System.out.println("输入月份错误!");
}
return month;
}
static int text_3(int year)//计算年距1900天数
{
int all_year=0;
for(int h=1900;h
{
int u=text_1(h); //调用判断 闰年 h 从1900开始
int i=(u==1)?366:365; //根据返回值判断
all_year+=i; //计算天数
}
return all_year;
}
static int text_4(int year,int month) //判断输入月前天数(输入的年内)
{
int q = 0;
int all_month=0;
for(int t=1;t
{
q =text_2(year,t); //调用判断月份
all_month+= q; //计算天数
}
return all_month;
}
static void text_5(int year,int month) //计算天数排列规律并输出
{
int n = text_2(year, month); //调用 判断月份
int m = text_3(year); //年天数
int k=text_4(year,month); //月天数
int all_day = m + k; //输入月前的总天数
int month_firstday = all_day + 1; //输入月份的第一天
int week=month_firstday%7;//判断第一天是星期几
int time=week;//判断第一天前的空间(星期值-1)
if(time==0)
{
time=7; //当week=0是及星期天
}
for(int u=0;u
System.out.print( "\t\t");//输出空间
for(int y=1;y<=n;y++)
{
System.out.print(" "+y+"\t\t"); //输出月的天数
week=week%7; //判断星期
if(week%7==0)
{
System.out.println(" "); //星期天时换行
}
week++; //星期值+1
}
}
public static void main(String[] args) {
Scanner p=new Scanner(System.in);
Scanner q=new Scanner(System.in);
System.out.println("输入年份");
int w=p.nextInt();
System.out.println("输入月份");
int u=q.nextInt();
System.out.print("星期一\t"+"星期二\t"+"星期三\t"+"星期四\t"+"星期五\t"+"星期六\t"+"星期天\t");
System.out.println("");
text_5(w,u);
}
}
这篇关于java编写日历表_java建立日历表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!