Как я могу упростить это if-else в одно утверждение? - PullRequest
0 голосов
/ 14 мая 2018

Как мне упростить следующий код до одной строки (без оператора if-else)?

public static void main(String[] args) 
{
    boolean result;
    boolean a = false;
    boolean b = false;
    boolean isEmpty = false;
    if (a) {
        result = isEmpty && !b;
        System.out.println("if  " + (isEmpty && !b));
    } else {
        System.out.println("else    " + !b);
        result = !b;
    }
    System.out.println(result);
}

Ответы [ 4 ]

0 голосов
/ 14 мая 2018

Я думаю, что вы ищете это троичный оператор

На самом деле, вы можете суммировать этот оператор if-else с чем-то вроде этого (но без println):

result = (a ? isEmpty && !b : !b); System.out.println(result + "\n");

0 голосов
/ 14 мая 2018

Вы можете использовать троичный оператор:

result = a ? isEmpty && !b : !b;
0 голосов
/ 14 мая 2018

Используйте следующее:

result = a ? isEmpty && !b : !b;
0 голосов
/ 14 мая 2018

Если a равно true, убедитесь, что оба значения isEmpty И !b равны true.Если a равно false (или !a равно true), достаточно проверить, что !b равно true.

Поэтому вы можете заменить логику оператора if на:

result = !b && (isEmpty || !a);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...