Бесплатный курс по C#. Зарегистрируйтесь для отслеживания прогресса →
C#: Логические операторы 2
Логические операторы — важная тема, поэтому стоит закрепить её дополнительным примером и упражнением.
Попробуем реализовать функцию, проверяющую год на високосность. Год будет високосным, если он кратен 400 или одновременно кратен 4 и не кратен 100. Как видите, в определении уже заложена вся необходимая логика, осталось только переложить её на код:
class App
{
public static bool IsLeapYear(int year)
{
return year % 400 == 0 || (year % 4 == 0 && year % 100 != 0);
}
}
App.IsLeapYear(2018); // false
App.IsLeapYear(2017); // false
App.IsLeapYear(2016); // true
Разберём по частям:
- первое условие
year % 400 == 0: остаток от деления на 400 равен 0, значит, число кратно 400 ||ИЛИ- второе условие
(year % 4 == 0 && year % 100 != 0)year % 4 == 0: остаток от деления на 4 равен 0, значит, число кратно 4&&Иyear % 100 != 0: остаток от деления на 100 не равен 0, значит, число не кратно 100
Задание
Напишите метод IsNeutralSoldier(), который принимает на вход два аргумента:
- Цвет доспехов (строка). Возможные варианты:
red,yellow,black. - Цвет щита (строка). Возможные варианты:
red,yellow,black.
Функция возвращает true, если цвет доспехов не красный и цвет щита чёрный. В остальных случаях возвращает false.
Примеры вызова:
App.IsNeutralSoldier("yellow", "black"); // true
App.IsNeutralSoldier("red", "black"); // false
App.IsNeutralSoldier("red", "red"); // false
