Boa tarde pessoal, estou com um problema, tentando fazer um sistema de ranking, porém mesmo o valor sendo menor que o valor atual, ele entra na Condição e Substitui.
No meu sistema ele varre todo o banco de dados e pega o valor do “Record” de cada usuário, ai depois ele compara com os valores das posições do ranking de 1 a 10, se o valor atual do Record for maior que o atual da posição, então ele entra e toma forma, caso não seja maior, ele vai para o próximo teste… Porém sempre o valor Record da última conta, sobrepõe todos os outros
for (int gid = 1; gid < MAX_CONTAS; gid++) { //--------- Compara e Seta dados se os ids forem iguais
nomeRecorde[gid] = dadosuser.get("nome"); recordRecorde[gid] = dadosuser.get("record"); nomeRecorde[idcompare] = dadosuser.get("nome"); recordRecorde[idcompare] = dadosuser.get("record"); int recordgid = recordRecorde[gid].hashCode(); String nomegid = nomeRecorde[gid].toString(); int recorduser = recordRecorde[idcompare].hashCode(); String nomeuser = nomeRecorde[idcompare].toString(); if (recorduser > ranking[0]) { Log.d("ranking", "VALORES Rank 01: ID: " + idcompare + "User"+recorduser+" = GID: " + gid + " Record: " + recordgid + " Rank Valor:" + ranking[0]+"Antes"); ranking[0] = recorduser; nRanking[0] = nomeuser; txtPoss[0].setText(" 1 | " + nRanking[0] + " | Recorde: R$" + ranking[0]); Log.d("ranking", "VALORES Rank 01: ID: " + idcompare + "User"+recorduser+" = GID: " + gid + " Record: " + recordgid + " Rank Valor:" + ranking[0]+"Depois"); } else if (recordgid > ranking[1]) { ranking[1] = recordgid; nRanking[1] = nomegid; txtPoss[1].setText(" 2 | " + nRanking[1] + " | Recorde: R$" + ranking[1]); Log.d("ranking", "VALORES Rank 02: ID: " + idcompare + "User"+recorduser+" = GID: " + gid + " Record: " + recordgid + " Rank Valor:" + ranking[1]); } else if (recordgid > ranking[2]) { ranking[2] = recordgid; nRanking[2] = nomegid; txtPoss[2].setText(" 3 | " + nRanking[2] + " | Recorde: R$" + ranking[2]); Log.d("ranking", "VALORES Rank 03: ID: " + idcompare + "User"+recorduser+" = GID: " + gid + " Record: " + recordgid + " Rank Valor:" + ranking[2]); } else if (recordgid > ranking[3]) { ranking[3] = recordgid; nRanking[3] = nomegid; txtPoss[3].setText(" 4 | " + nRanking[3] + " | Recorde: R$" + ranking[3]); Log.d("ranking", "VALORES Rank 04: ID: " + idcompare + "User"+recorduser+" = GID: " + gid + " Record: " + recordgid + " Rank Valor:" + ranking[2]); } else if (recordgid > ranking[4]) { ranking[4] = recordgid; nRanking[4] = nomegid; txtPoss[4].setText(" 5 | " + nRanking[4] + " | Recorde: R$" + ranking[4]); Log.d("ranking", "VALORES Rank 05: ID: " + idcompare + "User"+recorduser+" = GID: " + gid + " Record: " + recordgid + " Rank Valor:" + ranking[2]); } else if (recordgid > ranking[5]) { ranking[5] = recordgid; nRanking[5] = nomegid; txtPoss[5].setText(" 6 | " + nRanking[5] + " | Recorde: R$" + ranking[5]); Log.d("ranking", "VALORES Rank 06: ID: " + idcompare + "User"+recorduser+" = GID: " + gid + " Record: " + recordgid + " Rank Valor:" + ranking[2]); } else if (recordgid > ranking[6]) { ranking[6] = recordgid; nRanking[6] = nomegid; txtPoss[6].setText(" 7 | " + nRanking[6] + " | Recorde: R$" + ranking[6]); Log.d("ranking", "VALORES Rank 07: ID: " + idcompare + "User"+recorduser+" = GID: " + gid + " Record: " + recordgid + " Rank Valor:" + ranking[2]); } else if (recordgid > ranking[7]) { ranking[7] = recordgid; nRanking[7] = nomegid; txtPoss[7].setText(" 8 | " + nRanking[7] + " | Recorde: R$" + ranking[7]); Log.d("ranking", "VALORES Rank 08: ID: " + idcompare + "User"+recorduser+" = GID: " + gid + " Record: " + recordgid + " Rank Valor:" + ranking[2]); } else if (recordgid > ranking[8]) { ranking[8] = recordgid; nRanking[8] = nomegid; txtPoss[8].setText(" 9 | " + nRanking[8] + " | Recorde: R$" + ranking[8]); Log.d("ranking", "VALORES Rank 09: ID: " + idcompare + "User"+recorduser+" = GID: " + gid + " Record: " + recordgid + " Rank Valor:" + ranking[2]); } else if (recordgid > ranking[9]) { ranking[9] = recordgid; nRanking[9] = nomegid; txtPoss[9].setText(" 10 | " + nRanking[9] + " | Recorde: R$" + ranking[9]); Log.d("ranking", "VALORES Rank 10: ID: " + idcompare + "User"+recorduser+" = GID: " + gid + " Record: " + recordgid + " Rank Valor:" + ranking[2]); } //Log.d("ranking", "VALORES Rank 02: ID"+idcompare+" = GID "+gid+" = CID - > " + ranking[1] );
}
Valores das saídas que utilizei para saber e testar:
teste => {maior_nivel=1, registrado=true, nome=teste, id=1, dinheiro=18, senha=teste, email=teste, cliques=15, total_ganho=18, record=25} ANTES DO FOR
VALORES Rank 01: ID: 1User25 = GID: 1 Record: 25 Rank Valor:0Antes
VALORES Rank 01: ID: 1User25 = GID: 1 Record: 25 Rank Valor:25Depois
VALORES Rank 02: ID: 1User25 = GID: 2 Record: 25 Rank Valor:25
VALORES Rank 03: ID: 1User25 = GID: 3 Record: 25 Rank Valor:25
teste 02 => {maior_nivel=1, registrado=true, nome=teste 02, id=2, dinheiro=22, senha=teste 02, email=teste te te, cliques=11, total_ganho=22, record=50} ANTES DO FOR
VALORES Rank 01: ID: 2User50 = GID: 1 Record: 50 Rank Valor:0Antes
VALORES Rank 01: ID: 2User50 = GID: 1 Record: 50 Rank Valor:50Depois
VALORES Rank 02: ID: 2User50 = GID: 2 Record: 50 Rank Valor:50
VALORES Rank 03: ID: 2User50 = GID: 3 Record: 50 Rank Valor:50
teste03 => {maior_nivel=1, registrado=true, nome=teste03, id=3, dinheiro=42, senha=03, email=03, cliques=32, total_ganho=42, record=35} ANTES DO FOR
VALORES Rank 01: ID: 3User35 = GID: 1 Record: 35 Rank Valor:0Antes
VALORES Rank 01: ID: 3User35 = GID: 1 Record: 35 Rank Valor:35Depois
VALORES Rank 02: ID: 3User35 = GID: 2 Record: 35 Rank Valor:35
VALORES Rank 03: ID: 3User35 = GID: 3 Record: 35 Rank Valor:35