public class Date{
private int day,month,year;
Date(int i,int j,int k){
day=i;
month=j;
year=k;

}
Date(){
day=12;
month=3;
year=1986;
}
Date(Date d){
day=d.day;
month=d.month;
year=d.year;
}
public void printDate(){
System.out.print(day +"/" +month +"/" +year);
}
public Date tomorrow(){
Date d=new Date(this);
d.day ++;
if(d.day>d.daysInMonth()){
d.day=1;
d.month++;
if(d.month>12){
d.month=1;
d.year++;
}
}
return d;
}
public int daysInMonth(){
switch(month){
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
return 31;
case 4:case 6:case 9:case 11:
return 30;
default:
if(year%100!=0&&year%4==0){
return 29;
}
else return 28;
} }
public void main(String args[]){
Date d1=new Date();
System.out.print("The current date is (dd/mm/yy/):");
d1.printDate();
System.out.println();
System.out.print("It's tomorrow is(dd/mm/yy/");
d1.tomorrow().printDate();
System.out.println();

Date d2=new Date(23,9,2009);
System.out.println("The current date is (dd/mm/yy");
d2.printDate();
System.out.println();
System.out.print("It's tomorrow is (dd/mm/yy)");
d2.tomorrow().printDate();
System.out.println();

}
}

解决方案 »

  1.   

    注意public static void main(String args[]),main函数没有加static修饰符。
      

  2.   

    Exception in thread "main" java.lang.Error: 无法解析的编译问题:
    方法 main 不能声明为“静态”;只能在静态类型或顶级类型中才能声明静态方法 at Date$TimeApp.main(Date.java:54)
    这又是怎么回事呢?
      

  3.   

    Could not find the main class:Date$TimeApp.program will exit.
    还是这样提示
      

  4.   


    我整理了一下你的代码,你自己看看吧,运行没问题。public class Date{
    private int day,month,year;
    Date(int i,int j,int k){
    day=i;
    month=j;
    year=k;
    }
    Date(){
    day=12;
    month=3;
    year=1986;
    }
    Date(Date d){
    day=d.day;
    month=d.month;
    year=d.year;
    }
    public void printDate(){
    System.out.print(day +"/" +month +"/" +year);
    }
    public Date tomorrow(){
    Date d=new Date(this);
    d.day ++;
    if(d.day>d.daysInMonth()){
    d.day=1;
    d.month++;
    if(d.month>12){
    d.month=1;
    d.year++;
    }
    }
    return d;
    }
    public int daysInMonth(){
    switch(month){
    case 1:case 3:case 5:case 7:case 8:case 10:case 12:
    return 31;
    case 4:case 6:case 9:case 11:
    return 30;
    default:
    if(year%100!=0&&year%4==0){
    return 29;
    }
    else return 28;
    }
    }
    public static void main(String args[]){
    Date d1=new Date();
    System.out.print("The current date is (dd/mm/yy/):");
    d1.printDate();
    System.out.println();
    System.out.print("It's tomorrow is(dd/mm/yy/");
    d1.tomorrow().printDate();
    System.out.println();

    Date d2=new Date(23,9,2009);
    System.out.println("The current date is (dd/mm/yy");
    d2.printDate();
    System.out.println();
    System.out.print("It's tomorrow is (dd/mm/yy)");
    d2.tomorrow().printDate();
    System.out.println();
    }
      

  5.   

    非常感谢"zidane1983"
    测试成功了
    刚才应该是我在设置JRE参数时出现错误
    现在纠正过来了,在次表示感谢 !