8 回答
TA贡献1828条经验 获得超3个赞
return (year%400==0) | (year%100!=0) &(year%4==0);这个位置是 错的 &&并且 你那个 是为按位与的符号
经测试 该此位置程序正确,还有if else 如果不加大括号 下面只能写一行,估计你是排版问题,建议加上大括号,程序可读性更强,亲 该给分啦
TA贡献1811条经验 获得超6个赞
class Date
{
private int year;
private int month;
private int day;
public Date(int y, int m, int d) //构造方法
{
year = y;
month = m;
day = d;
}
public void setDate(int y, int m, int d)//设置日期值
{
year = y;
month = m;
day = d;
}
public int getyear()
{
return year;
}
public int getmonth()//m小写
{
return month;
}
public int getday()
{
return day;
}
public void Print() //输出日期值
{
System.out.println("date is"+year+"-"+month+"-"+day);//-为双引号
}
public boolean isLeapYear() //判断是否为闰年
{
return (year%400==0) | (year%100!=0) &(year%4==0);
}
}
public class Jpro3_11
{
public static void main (String args[])
{
Date a = new Date (2010,10,1);
a.Print();
if(a.isLeapYear())
System.out.println(a.getyear()+"是闰年");// year为小写
else
System.out.println(a.getyear()+"不是闰年");// year为小写
}
}
添加回答
举报