Java: Boolean operators 2
Logical operators - an important topic, so you should fix it with an additional example and exercise.
Let's try to implement a function that checks the year for leap year. A year will be a leap year, if it is a multiple of 400 or it is a multiple of 4 and not a multiple of 100. As you can see, the definition already contains all the necessary logic, it remains only to shift it to the code:
public static void main(String[] args) {
isLeapYear(2018); // => false
isLeapYear(2017); // => false
isLeapYear(2016); // => true
}
public static boolean isLeapYear(int year) {
return year % 400 == 0 || (year % 4 == 0 && year % 100 != 0);
}
We will analyze in parts:
- the first condition
year % 400 == 0
: the remainder of dividing by 400 is 0, then the number is a multiple of 400 ||
OR- the second condition
(year % 4 == 0 && year % 100 != 0)
year % 4 == 0
: the remainder of dividing by 4 is 0, so the number is a multiple of 4 -&&
** and **year % 100 != 0
: the remainder of the division by 100 is not equal to 0, which means that the number is not a multiple of 100
Instructions
Write the function isNeutralSoldier
, which takes two arguments as input:
- The color of the armor (string). The options are: "red", "yellow", "black".
- The color of the shield (string). The options are: "red", "yellow", "black".
The function returns true
if the color of the armor is not red and the color of the shield is black. In other cases, it returns false
.
Call examples:
isNeutralSoldier("yellow", "black"); // => true
isNeutralSoldier("red", "black"); // => false
isNeutralSoldier("red", "red"); // => false
If you got stuck and don't know what to do, you can ask a question in our huge and friendly community