import java.util.Scanner;
public class Calendar{
public int countDays(int month,int year){
int y=year;
int m=month;
int days=0;
for(int i=1900;i<=y-1;i++){
if(i%4==0&&i%100!=0||i%400==0){
days+=366;
}else{
days+=365;
}
}
for(int j=1;j<=m-1;j++){
if(m==2){
if(y%4==0&&y%100!=0||y%400==0){
days+=29;
}else{
days+=28;
}
}else{
if(m==4||m==6||m==9||m==11){
days+=30;
}else{
days+=31;
}
}
}
return days;
}
public static void main(String[] args){
// System.out.println("**日历**");
System.out.println("请输入年份:");
Scanner year=new Scanner(System.in);
int y=year.nextInt();
System.out.println("请输入月份:");
Scanner month=new Scanner(System.in);
int m=month.nextInt();
int count=countDays(year,month);
System.out.println("共"+days+"天");
}
}
初学Java,这段代码可能会有很多问题,求大神耐心指导。
更改过之后这个问题没有了,但是应该怎样在静态上下文中引用非静态方法呢?
静态方法只能直接调用静态方法,所以你可以把countDays方法修改为static的
方法2: int count=Calendar.countDays(y,m);(应该是这么写的,没有验证)