Alguém me explica essa parte do código

2 respostas
F
private int [] a = new int [7];

public int oMaior(){
    int maior = 0;
    for(int i=0; i<a.length; i++){
        if(i == 0){
            maior = a[i];
        }
        else{
            if(a[i]>maior){
                maior = a[i];
            }
        }
    }
    return maior;
}

alguem por favor me explica passo a passo desse código para eu entender como ele retorna o Maior numero do array. Sou iniciante em programação! Obrigado desde já.

2 Respostas

J
private int[] listaNumeros = new int[7];

public int oMaior(){
	int maiorNumero = 0;
	for(int posicaoLista = 0; posicaoLista  < listaNumeros.length; posicaoLista++){
		if(posicaoLista  == 0){
			maiorNumero = listaNumeros[posicaoLista ];
		} else {
			if(listaNumeros[posicaoLista ] > maiorNumero){
				maiorNumero = listaNumeros[posicaoLista ];
			}
		}
	}
	return maiorNumero;
}

Renomeei algumas variáveis para facilitar o entendimento do código.
Como você pode perceber no inicio é declarado uma lista de números, teoricamente em algum ponto do código que não está aqui essa lista é preenchida com 7 números. E ao executar a função “oMaior” ele faz o seguinte processo:
É varrido posição por posição da sua lista de números, no primeiro if que é referente a posição do primeiro número, a gente seta a variável “maiorNumero” para o número da posição inicial da lista, nas próximas repetições é verificado se o número atual sendo varrido na lista é maior que o número atual na variável “maiorNumero”, se for maior ele substitui o valor da variável. Sendo assim ao varrer toda a lista, no final você terá o maior número.

F

Consegui visualizar melhor com os diferentes nomes das variáveis! Muito obrigado Jhonatan, ajudou muito!!
Abraço!

Criado 23 de maio de 2017
Ultima resposta 23 de mai. de 2017
Respostas 2
Participantes 2