JAVA万年历制作.docx
- 文档编号:8168651
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:10
- 大小:108.64KB
JAVA万年历制作.docx
《JAVA万年历制作.docx》由会员分享,可在线阅读,更多相关《JAVA万年历制作.docx(10页珍藏版)》请在冰豆网上搜索。
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年对比正确
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 万年历 制作