java输入年月输出日历

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("这个程序将输出1900年以后的指定年月的月历\n请输入年份:");
int year=in.nextInt();
System.out.println("请输入月份:");
int mouth=in.nextInt();
int sum=0,wekday;//将用到的距1900.1.1的总天数和星期数,现有总天数才能求当月1号星期几
for(int y=1900;yif(y%4==0&&y%100!=0||y%400==0){
sum+=366;
}else{
sum+=365;
}
}//先计算年份总天数
for(int m=1;mif(m==2){
if(year%4==0&&year%100!=0||year%400==0){
sum+=29;
}else{
sum+=28;
}
}else{
if(m==4||m==6||m==9||m==11){
sum+=30;
}else{
sum+=31;
}
}
}//在精确到月的天数
sum++;//最后精确到具体天数
wekday=sum%7;
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int w=1;w<=wekday;w++){
System.out.print("\t");
}//循环用不到的先输出
int day;
if(mouth==2){
if(year%4==0&&year%100!=0||year%400==0){
day=29;
}else{
day=28;
}
}else{
if(mouth==4||mouth==6||mouth==9||mouth==11){
day=30;
}else{
day=31;
}
}//当月有多少天
for(int d=1;d<=day;d++){
if(wekday%7==6){
System.out.print(d+"\n");
}else{
System.out.print(d+"\t");
}
wekday++;
}//这个循环输出内部
}
}

相关文档
最新文档