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();
}
}
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();
}
}
方法 main 不能声明为“静态”;只能在静态类型或顶级类型中才能声明静态方法 at Date$TimeApp.main(Date.java:54)
这又是怎么回事呢?
还是这样提示
我整理了一下你的代码,你自己看看吧,运行没问题。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();
}
}
测试成功了
刚才应该是我在设置JRE参数时出现错误
现在纠正过来了,在次表示感谢 !