Encontrar o maior valor dentro de um vetor

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);
}
}

O que você não entendeu?

[quote=airmigjr]

[code]
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);
}
}
[/code][/quote]

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!

[code] 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);  
}  [/code]

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

[]s

[quote=marcelo.silva.java][code] 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);  
}  [/code]

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

[]s[/quote]

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

verdade…viajei…

Brigado gente. Ajudaram muito.

/* 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;
}
}
}