Retornar a posição de menor valor dentro do Array

Oi pessoal, gostaria de retornar a posição de menor valor dentro de um array.
eu fiz isso.

int posicao ;
for (int i=0; i<vetor.length;i++){
for (int j =0; j < vetor.length+1; j++) {
if (vetor[j]<vetor[j+1]) {
posicao = j;
System.out.println(j);

Arrays.sort(vetor);
System.out.println(vetor[0]);

Não precisa desses 2 FOR, um só basta:

int[] vetor = new int[] { 2, 5, 8, 1, 4, 3, 9 };
int posicao = 0;

for (int i = 0; i < vetor.length; i++) {
	if (vetor[i] < vetor[posicao]) {
		posicao = i;
	}
}

System.out.println("A posição do menor valor é: " + posicao);
2 curtidas

No caso, ele quer a posição em que o menor valor está (e não o valor). Só que ao ordernar o array, você muda a posição original…

1 curtida

Só lembrando que o loop pode começar do 1. Começando do zero, na primeira iteração vc compara o primeiro elemento com ele mesmo, o que é desnecessário.

1 curtida