If 语句比较 int 的 2 个条件作为布尔值运行

If statement comparing 2 conditions of ints runs as boolean

我的 if 语句不能正常工作。目的是将用户给定的日期与当前日期进行比较,如果月份和星期都匹配(用户的生日),则 getBonus = true。 但是,我的 if 语句出现以下错误:

二元运算符“&&”的错误操作数类型 第一种类型:int 第二种:int

不兼容的类型:int 无法转换为 boolean

当涉及的所有变量都是 int 时,为什么我的 if 语句试图 运行 作为布尔值?

public static boolean getBonus ( int Week, int Month, int bMonth, int bWeek 
) {

boolean getBonus = false;

/**************************************************************************
The following statement is used to determine if the user's birthday is 
this week, using the month and week of the month. bMonth/bWeek are generated 
from user input, Month/Week are generated from a real time calendar.
**************************************************************************/

if(bWeek = Week && bMonth = Month)
  {
    getBonus = true;

  }

return getBonus;
}//end class getBonus

这样做

 if(bWeek == Week && bMonth == Month)//used to compare 
 // true && true --> true

而不是这个

 if(bWeek = Week && bMonth = Month)//used to assign 

使用 If 语句如下

if(bWeek == Week && bMonth == Month)
{
     getBonus = true;

 }

==用来比较

=用于赋值