Como comparar 3 variáveis em JAVA?

Quero comparar 3 variaveis e colocar o valor maior em uma outra variavel.
Fiz assim mas o valor dá sempre o valor do y.

import java.lang.*;

public class MyClass {
    public static void main(String args[]) {
        int x = 10;
        int y = 3;
        int z = 2;
        int a = 0;
        
           a = Math.max(x,y);
           a = Math.max(x,z);
           a = Math.max(y,z);
        
      System.out.println(a);
    }
}

O que você teria que fazer é pegar o valor de a e comparar com z:

int a = Math.max(x,y);
a = Math.max(a, z);

Ou seja, primeiro a recebe o maior valor entre x e y. Depois eu vejo se ele é maior que z, o resultado será o maior dos 3.

Poderia ainda ser mais sucinto:

int a = Math.max(Math.max(x, y), z);
1 curtida

obrigado!!

mas e se tivesse um numero indefinido de variaveis?? podia fazer com um ciclo if para comparar as variaveis todas??Por exemplo se tivesse 10 variaveis já era meio extenso

Aí compensaria ter um array ou lista, em vez de várias variáveis.

1 curtida

ok obrigado

Só completando que o amigo @hugokotsubo com arrays e listas tem uma função chamada .sort() que faz essa comparação já ordena decrescente e crescente.

1 curtida