Encontrar o maior valor dentro de um vetor

8 respostas
airmigjr

Pessoal, este código funciona, mas não entendi o porquê… Ele não está comparando sempre com o valor do primeiro elemento do vetor? Não está comparando uns com os outros…
Pelo que eu entendi, é atribuido o valor do elemento [0] do Array, ou seja, o valor 1.9 à variável max.
Depois o vetor é percorrido, e a cada análise de cada valor dentro do elemento, é comparado o número daquele elemento qualquer com o valor contido em max, e se este valor for maior do que max, ou seja, em nosso exemplo, 1.9, esse valor é atribuido a max, que depois é exibido…

vejam:

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

 double max = myList[0];
      for (int i = 1; i < myList.length; i++) {
         if (myList[i] > max) 
        	 max = myList[i];
      }

System.out.println("Maximo elemento é " + max);
}
}

8 Respostas

Rodrigo_Sasaki

O que você não entendeu?

drsmachado
airmigjr:
public class TestArray {
   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

 double max = myList[0];//aqui a variável max recebe o valor do primeiro item do array
      for (int i = 1; i < myList.length; i++) {//aqui a iteração irá ocorrer
         if (myList[i] > max) //caso o valor da posição i seja maior que o valor de max, max será substituído pelo valor da i-ésima posição.
        	 max = myList[i];
      }

System.out.println("Maximo elemento é " + max);
}
}
freakazoid

Opa para ficar mais claro coloque um breakpoint na linha do ‘for’ e faça o debug. Vc vai observar a variável max sendo altera após a execução do if.

Abs!

marcelo.silva.java
public static void main(String[] args) {
    double[] myList = {1.9, 2.9, 10.0, 3.4, 3.5};  
      
    double max = 0.0;//aqui a variável max recebe o valor do primeiro item do array  
          for (int i = 1; i < myList.length; i++) {//aqui a iteração irá ocorrer  
             if (myList[i] > max){ //caso o valor da posição i seja maior que o valor de max, max será substituído pelo valor da i-ésima posição.  
                 max = myList[i]; 
             }
          }  
      
    System.out.println("Maximo elemento é " + max);  
    }

pode ser assim também...não precisa ter dois vetor...

[]s

lucasportela
marcelo.silva.java:
public static void main(String[] args) {
    double[] myList = {1.9, 2.9, 10.0, 3.4, 3.5};  
      
    double max = 0.0;//aqui a variável max recebe o valor do primeiro item do array  
          for (int i = 1; i < myList.length; i++) {//aqui a iteração irá ocorrer  
             if (myList[i] > max){ //caso o valor da posição i seja maior que o valor de max, max será substituído pelo valor da i-ésima posição.  
                 max = myList[i]; 
             }
          }  
      
    System.out.println("Maximo elemento é " + max);  
    }

pode ser assim também...não precisa ter dois vetor...

[]s

Não achei 2 arrays em nenhum código...

marcelo.silva.java

verdade…viajei…

airmigjr

Brigado gente. Ajudaram muito.

M

/* No caso os valores estão como arrays args no método main, mas poderia ser qualquer Array */

import java.util.Arrays;

public class Maior {

public static void main(String[] args) {

Arrays.sort(args);

for (String arg : args) {

System.out.println(args[0]);

break;

}	

}

}
Criado 7 de fevereiro de 2013
Ultima resposta 1 de nov. de 2015
Respostas 8
Participantes 7