JAVA万年历制作.docx

上传人:b****5 文档编号:8168651 上传时间:2023-01-29 格式:DOCX 页数:10 大小:108.64KB
下载 相关 举报
JAVA万年历制作.docx_第1页
第1页 / 共10页
JAVA万年历制作.docx_第2页
第2页 / 共10页
JAVA万年历制作.docx_第3页
第3页 / 共10页
JAVA万年历制作.docx_第4页
第4页 / 共10页
JAVA万年历制作.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

JAVA万年历制作.docx

《JAVA万年历制作.docx》由会员分享,可在线阅读,更多相关《JAVA万年历制作.docx(10页珍藏版)》请在冰豆网上搜索。

JAVA万年历制作.docx

JAVA万年历制作

XXXX学院软件工程专业

JAVA程序设计

设计名称:

java软件开发课程设计

设计题目:

《万年历》

学生学号:

专业班级:

学生姓名:

学生成绩:

指导教师(职称):

课题工作时间:

2017.03.07至2016.03.10

设计要求:

改机日历程序,要求是,从命令行输入整数年,程序自动输出1-12月历。

格式要求,做成word文件,写出重点步骤的说明,附上运行截图,附上源码;

文件名:

年级专业班级学号_姓名.doc

源代码

classCalenderTest1{

publicstaticvoidmain(String[]args){

/*

使用命令行参数,运行程序时输入数据

*/

Stringstr1=args[0];

/*

只要能把命令行输入的字符串,转化成int数据

"2017"->2017

*/

intyear=Integer.parseInt(str1);

//System.out.println("year="+year);

//System.out.println("month="+month);

inttotalDays=0;//计算总天数

//先计算从当年到1年的总天数

for(inti=1;i

//要判断闰年

if(i%4==0&&i%100!

=0||i%400==0){

totalDays=totalDays+366;

}

else{

totalDays=totalDays+365;

}

}

/*再加当月的1号

if(month==1){

totalDays=totalDays+1;

}

else{

//当月1号是星期几

intweekDay=totalDays%7;

}*///System.out.println("weekDay="+weekDay);

//存储当前月的天数

intdays=totalDays;

intweekDay=0;

intmDays=0;

for(intmonth=1;month<13;month++){

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){

mDays=31;

}

else{

if(month==4||month==6||month==9||month==11){

mDays=30;

}

else{

if(year%4==0&&year%100!

=0||year%400==0){

mDays=29;

}

else{

mDays=28;

}

}

}

totalDays=days;

//加上当年1号到当月之间的天数

for(inti=1;i

//根据不同的月,查找相应的天数,进行加运算

switch(i){

case1:

case3:

case5:

case7:

case8:

case10:

case12:

totalDays=totalDays+31;

break;

case4:

case6:

case9:

case11:

totalDays=totalDays+30;

break;

case2:

if(year%4==0&&year%100!

=0||year%400==0){

totalDays=totalDays+29;

}

else{

totalDays=totalDays+28;

}

break;

}

}

//再加当月的1号

totalDays=totalDays+1;

weekDay=totalDays%7;

Stringtitle[]={"天","一","二","三","四","五","六"};

Stringspace="";//月历中的分隔空格

//数组的黄金搭档就是for循环

//JAVA的数组对象,有个属性length直接可以得到长度

System.out.println();

System.out.print(""+month+"月");

System.out.println();

for(inti=0;i

System.out.print(space+title[i]);

}

//换行,把插入点放在下一行

System.out.println();

/*

这里要有输出内容时的控制单元

着这里,一个输出单元就是"空隙"+标题字符的宽度

要让1号输出到正确位置,就需要事先用空格将其

挤到该出现的位置,是星期几,就向后挤几个单元

*/

for(inti=0;i

//中文的标题字符,一个宽度是两个空格字符

System.out.print(space+"");

}

/*

从1号到mDays循环输出月历,要注意换行条件

注意每个日期的输出单元

*/

for(intd=1;d<=mDays;d++){

//如果输出的日期小于10则左侧补空格

/*

当前的月历格式,指星期天是起始

换行(开始下一周)条件就是

(d+weekDay-1)%7==0,就输出换行符

*/

if((d+weekDay-1)%7==0){

System.out.println();

}

if(d<10){

System.out.print(space+""+d);

}

else{

System.out.print(space+d);

}

}System.out.println();

}

}

}

在原有代码的基础上,对月份进行循环,并且将月份的循环放在,寻找月份天数的循环之前。

将此代码

改成了

运行结果2016年对比正确

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 生产经营管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1