跟日历对比出错了,问题是月份输出没有改变都是输出30天,这要怎么改才是正确的?

import java.util.Scanner;

public class day{

public static void main(String[] args){

Scanner in=new Scanner(System.in);

System.out.println("请输入1900年之后的年份:");

int year=in.nextInt();

System.out.println("请输入月份:");

int month=in.nextInt();

int sum=0;

for(int i=1900;i<year;i++){

if(year%4==0&&year%100!=0||year%400==0){

sum+=366;

}

else{

sum+=365;

}

}

for(int j=1;j<month;j++){

if(j==2){

if(year%4==0&&year%100!=0||year%400==0){

sum+=29;}

else{sum+=28;}

}

else{

if(j==4||j==6||j==9||j==11){

sum+=30;

}

else{sum+=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 j=1;j<=31;j++){

if(sum%7==6){

System.out.print(j+"\n");

}

else{ System.out.print(j+"\t");}

sum++;

}

}


}


晴天小文友
浏览 1261回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java