为什么显示"选择未包含main 类型"(Eclipse提示)

sunwxb 2009-09-24 08:14:51
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();

}


}

...全文
给本帖投票
2077 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunwxb 2009-09-24
  • 打赏
  • 举报
回复
非常感谢"zidane1983"
测试成功了
刚才应该是我在设置JRE参数时出现错误
现在纠正过来了,在次表示感谢 !
zidane1983 2009-09-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sunwxb 的回复:]
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
方法 main 不能声明为“静态”;只能在静态类型或顶级类型中才能声明静态方法

at Date$TimeApp.main(Date.java:54)


这又是怎么回事呢?
[/Quote]

我整理了一下你的代码,你自己看看吧,运行没问题。

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();
}
}

sunwxb 2009-09-24
  • 打赏
  • 举报
回复
Could not find the main class:Date$TimeApp.program will exit.


还是这样提示
sunwxb 2009-09-24
  • 打赏
  • 举报
回复
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
方法 main 不能声明为“静态”;只能在静态类型或顶级类型中才能声明静态方法

at Date$TimeApp.main(Date.java:54)




这又是怎么回事呢?
zidane1983 2009-09-24
  • 打赏
  • 举报
回复
注意public static void main(String args[]),main函数没有加static修饰符。

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧

手机看
关注公众号

关注公众号

客服 返回
顶部