for(atual = 0; atual < precos.length; atual++) {
if(precos[atual] < precos[maisBarato]) {
maisBarato = atual;
}
}
for(atual = 0; atual < precos.length; atual++) {
if(precos[atual] < precos[maisBarato]) {
maisBarato = atual;
}
}
Oi Michel, o length retorna o tamanho do array; por exemplo:
int[] a = {4, 5, 2, 7, 1, 0};Se você fizer um a.length ele irá retornar o tamanho dele, ou seja, 6.
Mas aí você pode perguntar: Mas o array não começa a conta do 0?. E a resposta é sim, mas nesse caso para acessar a posição dentro do array, por exemplo a[1] irá retornar 5. E se vc colocar a[6] irá retornar uma exception.
Portanto esse array que eu escrevi acima é um array de 6 posições (retorno do length) que iniciar no 0 e termina no 5.
Esse for:
for(atual = 0; atual < precos.length; atual++) a parte atual < precos.length está determinando a condição de execução do loop, ou seja, o loop irá ser executado enquanto atual for menor que precos.length, caso você coloque <= pode dar uma exception.
Faz uns testes aí. Faz um print de precos.length, depois dá um print em precos[precos.length - 1] , isso deve retornar o último valor do array, e `precos[ precos.length] isso deve dar uma exception.
Cara isso foi um pouco complicado explicar... mas qualquer dúvida posta aí para eu tentar te ajudar.