# 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