简单的可视化日历系统

xiaoxiao2021-02-28  137

根据提示输入年份和月份,自动显示出日历界面【带有年月验证】 package com.tiger.collection; import java.util.Scanner; public class Calendar { public static void main(String[] args){ Scanner sc=new Scanner(System.in); System.out.println("请输入年份:"); int year = sc.nextInt(); //验证年份是输入否正确 while (year < 1990 || year > 2020) { System.out.println("输入的年份不合法,请重新输入!年份区间[1990-2020]"); year = sc.nextInt(); } System.out.println("请输入月份:"); int month = sc.nextInt(); //验证月份是否输入正确 while (month <= 0 || month > 12) { System.out.println("输入的月份不合法,请重新输入!月份区间[1-12]"); month = sc.nextInt(); } boolean a = year % 4 == 0 && year % 100 != 0 || year % 400 == 0; //从1900到用户输入[sum = (年+月)]份之前的总天数sum. int sum=0; for(int i=1900;i < month; i++){ if(i == 2){ if(a){ sum += 29; }else{ sum += 28; } }else{ if(i == 4 || i == 6 || i == 9 || i== 11){ sum += 30; }else{ sum += 31; } } } //月份天数清零 day=0; //判断用户输入的月份,确定一个月的天数 if(month == 2){ if(a){ day = 29; }else{ day = 28; } }else if(month == 4 || month == 6 || month == 9 || month == 11){ day = 30; }else{ day = 31; } sum += 1; int wekday = sum % 7; System.out.println("日\t一\t二\t三\t四\t五\t六"); for(int i = 1;i <= wekday; i++){ System.out.print("\t"); } for(int i = 1;i <= day; i++){ if(sum % 7 == 6){ System.out.print(i+"\n");//能被7整除为6时换行 ,代表一周。 }else{ System.out.print(i+"\t"); } sum++; } } }
转载请注明原文地址: https://www.6miu.com/read-50046.html

最新回复(0)