Mostras os 10 maiores valor

2 respostas
U

Galera novamente venho solicita a ajuda de vocês para resolver um problema que aparentemente é simples. Mas meus conhecimentos de Java ainda não me deixa ser feliz.

Então fim uma função para apresentas a posição do vertor que esta os 10 maiores numeros.

public static void qtdMaisMenos(){
		MegasenaInputReader reader = new MegasenaInputReader("Resultado.dat");
		int totalSort, s, d, qtd=0, i, j, compara=0; // s= sorteio, d=dezenas
		int vDezenas[] = new int[60];
		int ordem[][] = new int[60][2];
		int maior[] = new int[10];
		for (d=0;d<60;d++) vDezenas[d]=0;
		totalSort = reader.getQuantSorteios();
		for (s=1; s<=totalSort; s++){ // percorre todos os sorteios
			int[] sorteio = reader.getSorteio(s);
			for (d=4; d<=9; d++){ // para cada sorteio, verificar as dezenas sorteadas
				vDezenas[sorteio[d] -1]++;
			}
		}
		for (i=0;i<9;i++){
			for (d=0;d<10;d++){
				if(vDezenas[d]>compara){
					compara = vDezenas[d];
					System.out.println("Maior: "+ (d+1));
				}
			}
		}
	}

Ela está funcionando mas só me retorna 3 resultados e não 10.
Andei vendo e o que está acontecendo é que eu tenho uma base assim.

1 - 30
2 - 76
3 - 87
4 - 30
5 - 45
6 - 20
7 - 22

Olhando para os valores pude perceber que ele só pega a posição 2 e 3 e não mostra o restante dos valore. Isso pq depois do 3 não existe mais nengum elemento maior do que ele.
Gostaria de saber se alguem me ajuda a resolver esse problema.

Grato

Gilliatt

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Matheus [/color][/size] :joia:

2 Respostas

T

Para você pegar os 10 maiores valores, o modo mais simples é ordenar os valores, e então pegar os 10 últimos valores.
Para ordenar, existe uma rotina sort na classe java.util.Arrays (note que é Arrays no plural, não Array no singular).

J

voce queria que o programa retornasse as posicoes do array onde estao os 10 maiores numeros? ou eh algo parecido com a sugestao de thingol?

Criado 9 de junho de 2005
Ultima resposta 9 de jun. de 2005
Respostas 2
Participantes 3