import java.util.Scanner;
public class calendar1{
int y=0;
int m2=0;
int sum=0;
int month;
int year;
public static void getinformation(){
Scanner in= new Scanner(System.in);
System.out.println("The calendar is from 01/01/1900 to ∞:");
System.out.println("Please input month and year:");
System.out.print("year:");
year=in.nextInt();
System.out.print("month:");
month=in.nextInt();
}
public static void days(){
//days in each year
for(y=1900;y<year;y++){
if((y%4==0)&&(y%100!=0)||(y%400==0))
{sum=sum+366;}
else {sum=sum+365;}
}
//add days in final year
for(m2=1;m2<month;m2++){
if(m2==2){
if((y%4==0)&&(y%100!=0)||(y%400==0))
{sum=sum+29;}
else {sum=sum+28;}
}
else{
if((m2==4)||(m2==6)||(m2==9)||(m2==11))
{sum=sum+30;}
else {sum=sum+31;}
}
}
//calculate the total days
sum=sum+1;
}
public static void display(){
System.out.println("Sun\tMon\tTue\tWed\tThu\tFri\tSat");
int day=sum%7;
int n=0;
int m=0;//how many days in this month?
if(month==2){
if((y%4==0)&&(y%100!=0)||(y%400==0))
{m=29;}
else {m=28;}
}
else{
if((month==4)||(month==6)||(month==9)||(month==11))
{m=30;}
else {m=31;}
}
for(n=1;n<=day;n++){
System.out.print("\t");}
for(n=1;n<=m;n++){
if(sum%7==6){ System.out.print(n+ "\n");}
else {System.out.print(n+ "\t");}
sum++;
}
}
public static void main(String[] args){
calendar1 calendar=new calendar1();
getinformation();
days();
display();
}
}
我是初学者 请问这种问题该怎么解决啊?谢谢~