Retornar o INDICE do array com o menor valor!

4 respostas
L

Boa tarde pessoal,

Estou precisando de uma ajuda, preciso que retorne a posição do array com o menor valor. Fiz esse código, mas nao deu certo:

public double indMenor(){

double menor = 0;

int posmenor = 0;

int posi = 0;

for(int i = 0; i < notas.length; i++){

posi = i;

for(int j = i + 1; j < notas.length; j++){

if(notas[i] <  notas[j]){

menor = notas[i];

posmenor = posi;

}

}

}

return posmenor;

}

podem me ajudar, obrigado.

4 Respostas

ViniGodoy

Faltou usar a tag code:

Faz assim:

public int menorIndice() { double menor = Double.MAX_VALUE; int indice = -1; for (int i = 0; i &lt; notas.length; i++) { if (notas[i] &lt; menor) { menor = notas[i]; indice = i; } } return indice; }

Só uma dúvida, não podem haver notas iguais? O que você quer retornar se todo mundo tirar 0?

L

Pode haver noas iguais, e se todos tirar zero, retorna tb.
Mas não entendi aquele Double.MAX_VALUE, o que seria?

ViniGodoy

O maior valor possível para uma variável double. Assim vc tem certeza que a primeira nota será menor que esse valor, mesmo que ela seja 10.

L

Cara funcionou perfeitamente. Muito obrigado pela ajuda.

Abraços

Criado 25 de novembro de 2012
Ultima resposta 25 de nov. de 2012
Respostas 4
Participantes 2