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.
Faltou usar a tag code:
Faz assim:
public int menorIndice() {
double menor = Double.MAX_VALUE;
int indice = -1;
for (int i = 0; i < notas.length; i++) {
if (notas[i] < 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?
Pode haver noas iguais, e se todos tirar zero, retorna tb.
Mas não entendi aquele Double.MAX_VALUE, o que seria?
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.
Cara funcionou perfeitamente. Muito obrigado pela ajuda.
Abraços