java编译”(预期)错误

java编译”(预期)错误,java,Java,我用蓝J。 我找不到我想念的地方 public Date(int day, int month, int year){ if checkDate(day,month,year)=false { _day=default_Day; _month=default_Month; _year=default_Year;} else { _day=day; _month=month; _ye

我用蓝J。

我找不到我想念的地方

public Date(int day, int month, int year){
    if checkDate(day,month,year)=false {
        _day=default_Day;
        _month=default_Month; 
        _year=default_Year;}
    else {
        _day=day;
        _month=month;
        _year=year;
    }

提前感谢=

您需要将条件括在括号中,并使用==operator=作为赋值运算符执行比较。因此

改变

if checkDate(day,month,year)=false{

或者,为了简化,将其更改为

if (!checkDate(day,month,year)){

在代码的第二行中,和都丢失了。 此外,您还错误地将“=”赋值为“==”等于。 此外

可以简单地表示为

if (!checkDate(day,month,year))




     public Date(int day, int month, int year){
            if (checkDate(day,month,year)==false) {
//if (!checkDate(day,month,year)) { <- exactly the same, but simpler
                _day=default_Day;
                _month=default_Month; 
                _year=default_Year;
        }
            else {
                _day=day;
                _month=month;
                _year=year;
            }

在java中,您要检查的条件是否需要用括号括起来,如果checkDateday、month、year=false,则if的表达式必须用括号括起来:if checkDate….此外,=In=false必须是==-您检查的是相等性,而不是赋值。您应该阅读教程,因为它将为您提供java语法的良好入门知识It’这是一个风格问题,您不会将其与false进行比较。相反,您会使用!运算符:if!checkDateday,month,year{
if (checkDate(day,month,year)==false)
if (!checkDate(day,month,year))




     public Date(int day, int month, int year){
            if (checkDate(day,month,year)==false) {
//if (!checkDate(day,month,year)) { <- exactly the same, but simpler
                _day=default_Day;
                _month=default_Month; 
                _year=default_Year;
        }
            else {
                _day=day;
                _month=month;
                _year=year;
            }