Можно упростить это условное утверждение? - PullRequest
0 голосов
/ 30 апреля 2019

Можно ли упростить следующую инструкцию, используя && или ||, или даже & или |или ^?

int result = A ? (B ? 1 : -1) : (B ? -1 : 1);

Мне кажется, я мог бы назначить временную переменную, например, так:

boolean C = B ? A : !A; // Also: is it correct that this can be simplified to !(A ^ B)?

И затем сделать:

int result = C ? 1 : -1;

Но мне любопытноесли это возможно без временной переменной.

1 Ответ

1 голос
/ 30 апреля 2019

У вас, кажется, уже есть ответ.

int result = !(A ^ B) ? 1:-1
...