Java Math - Resolvido

    Scanner sc = new Scanner(System.in);
    ArrayList<Integer> numbers = new ArrayList<Integer>();
    
    System.out.println("Enter Three Numbers");
    int a = sc.nextInt();
    int b = sc.nextInt();
    int c = sc.nextInt();
           
    numbers.add(a);
    numbers.add(b);
    numbers.add(c);
    
    Math.max(a, b , c);

nessa caso o que eu usaria pra conferir qual dos 3 numeros é o maior usando o Math.max? ou qualquer outro metodo sem ser condição de IF.

1 curtida

Mano, cria seu método... usa as condições e deixa de preguiça

É simples mano, veja o código simples só pra resolver seu problema

public int maior(int num1, int num2, int num3){
if((num1 > num2) && (num1 > num3)){
return num1;
}else if((num2 > num1) && (num2 > num3)){
return num2;
}else {
return num3;
}
}

Espero ter ajudado, até algum dia !

1 curtida

Algumas possibilidades seriam:

int maior = 0;

for (int i = 0; i < 3; i ++) {
    if (numbers.get(i) > maior) {
        maior = numbers.get(i);
    }
}

ou

for (int number : numbers) {
    if (number > maior) {
        maior = number;
    }
}
1 curtida

vc pode usar o max em um loop:

int maior = Integer.MIN_VALUE;
for (int n: numbers) {
    maior = Math.max(maior, n)
}

outra opção é usar a API de stream

numbers.stream()
 .reduce((x,y) -> Math.max(x,y))
 .ifPresent(s -> System.out.println(s));
1 curtida
int maior = Math.max(a, Math.max(b , c));
2 curtidas

Muito obrigado,mas como disse queria usar o Math.max pra saber e aprender coisas novas entendeu? pra simplificar e ganhar conhecimento de outros métodos

Bem útil,obrigado pela ajuda!

Muito bacana,mas acho que não usaria a API de stream que não sei nem o que é isso

A melhor resposta,simples e resolveu o que eu queria,que era usar o math.max pra averiguar muito obrigado

Encontrei um código que também faz isso só que não estou conseguindo entender ele é bastante complexo ao meu ver
Alguem conseguiria me explicar?


Integer maxNumber = findMaxNumberFromArrayList(numbers)
System.out.println("Maior numero = "+maxNumber);
System.out.println(numbers);
}
private static int findMaxNumberFromArrayList(List numbers){
int max = Integer.MIN_VALUE;
for(int number : numbers){
if(number > max){
max = number;
}
System.out.println(number);
}
return max;

Esse código itera uma lista de números e vai verificando qual foi o maior encontrado.

1 curtida

Bem legal…obrigado novamente