1
resposta

Não entendi como funciona o Length nesse Caso!

 for(atual = 0; atual < precos.length; atual++) {
                if(precos[atual] < precos[maisBarato]) {
                    maisBarato = atual;
                }
            }
1 resposta

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.