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
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