Reescrevendo sem operadores lógicos (com IF, ELSE)

,

Sou aluno iniciante em Java e preciso de um apoio num trabalho.

Exemplo:

if (altura>180 && idade<=25 && sexo == 'M')
    System.out.println("Atleta apto")

Preciso reescrever sem operadores lógicos, apenas com IF's encadeados. Ficou assim:
if (altura>180)
    if (idade<=25)
        if (sexo == 'M')
            System.out.println("Atleta apto")


Exemplo 2:
resultado = b;
if (a<=b && a<=C || x!=1)
    resultado = a;

Esse caso acima, já tentei escrever 1000x com if e else, if, else… mas sempre sai algo errado.
Conseguem me dar um apoio?

if (x!=1) {
    resultado = a;
} else if (a<=b) {
    if (a<=C) {
        resultado = a;
    }
}

Veja se isto resolve.

Douglas, valeu pela retorno rápido.
Pelo que entendi:
a<=b --> é um requisito, se este for falso, o retorno será “B”.
a<=c --> pode ser negativo, mas daí terá que testar ainda se o “x!=1”.
Para o resultado ser “A” é preciso que o “a<=B” e uma das outras duas situações também seja verdadeira.

Entendeu meu raciocínio? Por isso acho que o primeiro if seria no (a<=b).

resultado = b;
if (a>b) { //É o inverso de "a<=b", Se "a<=b" então o retorno será "B"
    if (a<=C) {
        resultado = a;
    } else if (x!=1) {
        resultado = a;
    }
}

Isso é equivalente a:

resultado = b;
if (a<=b && (a<=C || x!=1)) {
    resultado = a;
}

É isso que você precisava?

Cheguei agora aqui, vou testar e te retorno. Obrigado desde já!!

Não esqueçam que && precede ||, logo isso

if (a<=b && a<=C || x!=1)

É o mesmo que isso

if ((a<=b && a<=C) || x!=1)

Seria isso?

if (a <= b) {
    if (a <= C) {
        resultado = a;
    }
} else if (x != 1) {
    resultado = a;
}
1 curtida

Lost, obrigado!
(Douglas Silva também).
eu já tinha testado aqui a resposta do Douglas Silva, porém invertendo o sinal do primeiro if.

Valeu galera!!

1 curtida