Какой синтаксис для мода в Java - PullRequest
       123

Какой синтаксис для мода в Java

217 голосов
/ 18 сентября 2008

В качестве примера в псевдокоде:

if ((a mod 2) == 0)
{
    isEven = true;
}
else
{
    isEven = false;
}

Ответы [ 15 ]

3 голосов
/ 18 сентября 2008

Также мод можно использовать так:

int a = 7;
b = a % 2;

b будет равно 1. Потому что 7 % 2 = 1.

1 голос
/ 04 марта 2018

В Java это оператор %: 15.17.3. Остаток Оператор%

Обратите внимание, что в классе java.lang.Math также есть floorMod, который даст аргумент, отличный от % для аргументов с разными знаками:

public static int floorMod​(int x, int y)

1 голос
/ 12 мая 2014

Другой способ:

boolean isEven = false;
if((a % 2) == 0)
{
    isEven = true;
}

Но самый простой способ по-прежнему:

boolean isEven = (a % 2) == 0;

Как сказал @ Стив Куо.

1 голос
/ 18 сентября 2008

Оператор по модулю% (знак процента). Чтобы проверить на равномерность или вообще сделать по модулю степень 2, вы также можете использовать & (оператор and) как isEven =! (A & 1).

0 голосов
/ 18 сентября 2008

Альтернатива коду от @Cody:

Использование оператора модуля:

bool isEven = (a % 2) == 0;

Я думаю, что этот код немного лучше, чем писать if / else, потому что там меньше дублирования и неиспользуемой гибкости. Для проверки требуется немного больше умственных способностей, но хорошее именование isEven компенсирует.

...