java基础-循环练习-打印出月历
2015-11-04 21:44
309 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/o_over_youthful/article/details/49644005
输入一个年份以及月份,输入出这个月的月历。使用选择结构以及循环语句来完成:
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //输入两个数字 年份和月份 System.out.println("输入一个年份:"); int year = scanner.nextInt(); System.out.println("输入一个月份:"); int month = scanner.nextInt(); //用于判断是否闰年 int sum = 0; //sum用于记录1990到所输年份上一年的总天数 boolean runNian = year%4==0&&year/100!=0||year%400==0; for (int i = 1900; i < year; i++) { if (runNian) { sum += 366; }else { sum += 365; } } //得到直到上一个月的天数 for (int i = 1; i < month; i++) { if (i==2) { sum=(runNian?29:28)+sum; }else if (i==4||i==6||i==9||i==11) { sum+=30; }else { sum+=31; } } //得到这个月的天数 int day = 0; if (month==2) { day=runNian?29:28; }else if (month==4||month==6||month==9||month==11) { day=30; }else { day=31; } //空格的数量 int space = (sum+1)%7; System.out.println("日\t一\t二\t三\t四\t五\t六"); //打空格 for (int i = 0; i < space; i++) { System.out.print("\t"); } //打印日期 for (int i = 1; i <= day; i++) { //每七天换行 if ((i+space)%7==0) { System.out.println(i); }else { System.out.print(i+"\t"); } } }
相关文章推荐
- 【java练习】来打印各种形状的三角形吧!!(循环练习)
- Java 基础 for循环基础练习记录
- Java循环练习:打印图案-4
- Java循环练习:打印图案-1
- 大数据之JAVA基础(五):循环和数组方法练习
- java基础练习--打印 " * "及字母
- Java循环练习:打印图案-5
- java基础_使用循环实现打印a-z
- ACCP JAVA1基础 上机练习 购物管理系统 打印产品清单
- Java基础学习应用_for循环打印99乘法表
- Java循环练习:打印图案-6
- Java基础学习应用_for循环打印水仙花数
- Java循环练习:打印图案-2
- 黑马程序员——Java基础---跳转控制语句与循环语句练习
- 黑马程序员-----java基础③(数组及循环练习)
- Java中循环问题:for,while,do-while 各种练习(打印上三角、下三角、输出100以内的素数、水仙花、最大公约、最小公倍数、分解质因数、兔子问题)
- java基础08 双重循环打印图形
- Java:基础练习-循环练习
- java基础---循环打印图形
- Java循环练习:打印图案-3