Задался вот этим вопросом.(там тоже самое ввиде ответа удалю)
Просто интересно. Есть ощущение что я не прав, не могу уловить где.
Первая часть условия
swap(chars, leftElementIndex, rightElementIndex);
leftElementIndex++;
rightElementIndex--;
выполнится, если
isLeftLetter && isRightLetter
есть
true && true
Вторая часть условия
if (!isLeftLetter) {
leftElementIndex++;
}
if (!isRightLetter) {
rightElementIndex--;
}
выполнится если
isLeftLetter && isRightLetter
есть сочетания
true && false
false && true
false && false
Во второй части isLeftLetter
и isRightLetter
переворачиваются
false <- !true <- true && false -> !false -> true
true <- !false <- false && true -> !true -> false
true <- !false <- false && false -> !false -> true
Выходит, что во второй части условия
leftElementIndex++;
rightElementIndex--;
выполняются независимо от того
isLeftLetter - true или false
isRightLetter - true или false
значит все условие можно свести к
if (isLeftLetter && isRightLetter) {
swap(chars, leftElementIndex, rightElementIndex);
leftElementIndex++;
rightElementIndex--;
} else {
leftElementIndex++;
rightElementIndex--;
}
тогда зачем повторяться? может так? Поправьте меня пжл если выводы мои неправильны.
if (isLeftLetter && isRightLetter) {
swap(chars, leftElementIndex, rightElementIndex);
}
leftElementIndex++;
rightElementIndex--;
Наглядно:
for (int i = 0; i < 4; i++) {
boolean a = (i & 1) == 1;
boolean b = (i & 2) == 2;
System.out.println("a = " + a + ", b = " + b);
if (a && b) {
System.out.println("Run a && b");
} else {
if (!a) {
System.out.println("Run !a");
}
if (!b) {
System.out.println("Run !b");
}
}
System.out.println();
}
Результат:
a = false, b = false
Run !a
Run !b
a = true, b = false
Run !b
a = false, b = true
Run !a
a = true, b = true
Run a && b
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Write me a function that receives three integer inputs for the lengths of the sides of a triangle and returns one of four values to determine the triangle type (1=scalene, 2=isosceles, 3=equilateral, 4=error)
Можно ли собственно получить тип N наподобиеgetClass()
Пробовал использовать этот код, но ничего не заработалоМожет есть еще способы, как проверить играет ли музыка?