我不知道哪里出错了:我都找晕了向大家求救啦!!!
date.java:25: class Date is public, should be declared in a file named Date.javapublic class Date
       ^
1 error
上面是出错信息.下面是源程序
class Date1
{ private int year,month,day;
Date1(int y,int m,int d)
{
this.year=y;
this.month=((m>=1)|(m<=12))?m:1;
this.day=((d>=1)|(d<=31))?d:1;
}
public int getyear()
{
return this.year;
}
public boolean isLeapYear()
{
return ((year%400==0)|(year%100!=0)&(year%4==0));
}
void output()
{
System.out.println(year+"-"+month+"-"+day);
}
}public class Date
{
public static void main(String args[])
{
Date1 a=new Date1(2007,5,10);
a.output();
System.out.println(a.getyear()+"is a leap year."+a.isLeapYear());
}
}

解决方案 »

  1.   

    可能是文件名不一致.你把源文件改名为Date
      

  2.   

    把你的java文件命名为:Date.java注意后缀名是.java,文件名是Date(注意大小写)
      

  3.   

    保存的文件名应该定义成 Date.java
    与你public类名一致
      

  4.   

    date.java:25文件名保存为Date.java试试
      

  5.   

    public 的类名必须和类名一致
      

  6.   

    估计你的文件全名是 Date.java.java
    把 工具-文件夹选项-查看-隐藏已知文件的扩展名 钩去掉看看文件全名
      

  7.   

    很显然是文件的命名要和public声明的一致啊!!!
      

  8.   

    Date是关键词,要避免用它来做类名,所以换个类的名字吧