当前位置 : 主页 > 编程语言 > java >

简单的可视化日历系统

来源:互联网 收集:自由互联 发布时间:2022-10-14
根据提示输入年份和月份,自动显示出日历界面【带有年月验证】 package com . tiger . collection ; import java . util . Scanner ; public class Calendar { public static void main ( String [] args ){ Scanner sc = new S


根据提示输入年份和月份,自动显示出日历界面【带有年月验证】



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++;
}
}
}
上一篇:重入锁--ReentrantLock
下一篇:没有了
网友评论