получить результат random.NextBoolean () и использовать его в дальнейшем, если выражение - PullRequest
0 голосов
/ 02 мая 2018
public void waitingbay (Bus bus) throws InterruptedException
{
    synchronized (listBus)
    {
        System.out.println(bus.getName()+ " can park in " + bus.getSpot() );
        System.out.println(bus.getName() + ": Need " + bus.getOilchange()  + random.nextBoolean() + ", Need cleaning: " + random.nextBoolean());
        listBus.wait();
     }
}

Из приведенной выше строки печати я получаю следующий вывод:

Bus12: Need oilchange: false, Need cleaning: true

Могу ли я использовать эти истины или ложи в операторе if?

1 Ответ

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

Сначала необходимо сохранить этот случайный логический результат в переменной (если вы не сохраните этот результат в переменной, после вызова rand.nextBoolean() он просто исчезнет, ​​вы больше не сможете восстановить этот результат).

Вы можете сохранить результат вызова rand.nextBoolean() следующим образом:

boolean needOil = rand.nextBoolean();
boolean needCleaning = rand.nextBoolean();

После этого вы можете намного больше с этим случайным результатом:

if (needOil) { // If needOil is equal to true... 
    // do stuff...
} else { // otherwise...
    // do another stuff... 
} 

if (needCleaning) {
    // do stuff...
} else {
    // do another stuff...
}

Если вы намерены использовать комбинацию обоих случайных результатов (после вашего комментария к другому ответу), вам следует немного узнать о логических операторах (например, AND && , OR || ) и используйте их правильно:

if (needOil && !needCleaning) { // If needOil is equal to true AND needCleaning is equal to false...
    System.out.println("Needs oil and doesn't need cleaning");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...