万年历(循环练习)
2018-08-05 07:45:30来源:博客园 阅读 ()
/** *已知1年1月1日是星期日 */ import java.util.Scanner; public class PerpetualCalendar{ public static void main(String[]args){ int year; int month; int week; int days = 0; int totaldays = 0; boolean isRn; Scanner input = new Scanner(System.in); System.out.println("请输入年份"); year = input.nextInt(); System.out.println("请输入月份"); month = input.nextInt(); //是否闰年 if(year%400 == 0||(year%4 == 0&&year%100 != 0)){ isRn = true; }else{ isRn = false; } //某年到1年1月1日总天数(包含1年1月1日) for(int y = 1;y < year;y++){ if(y%400 == 0||(y%4 == 0&&y%100 != 0)){ totaldays += 366; }else{ totaldays += 365; } } //某月到1年1月1日的天数(包含1年1月1日) for(int m = 1;m <= month;m++){ switch(m){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break; case 4: case 6: case 9: case 11: days = 30; break; case 2: if(isRn){ days = 29; break; }else{ days = 28; break; } default: System.out.println("输入有误"); break; } if(m != month){ totaldays += days; } } System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t"); //取余7余0就是星期日,week值是空格数 week = 1 + totaldays%7; if(week == 7){ week = 0; } //星期几前的空格数 for(int w = 0;w < week;w++){ System.out.print("\t"); } //打印天数 for(int d = 1;d <= days;d++){ System.out.print(d+"\t"); //打印7次换行 if((d+week)%7 == 0){ System.out.println(); } } } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 你说研究过Spring里面的源码,循环依赖你会么? 2020-06-09
- switch循环所支持的数据类型 2020-06-07
- JavaGUI练习 - 正交测试用例生成小工具 2020-05-31
- 第六章第三十七题(格式化整数)(Format an integer) - 编程 2020-05-26
- 第六章第三十四题(打印日历)(Print calendar) - 编程练习 2020-05-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash