Consegui agora… só um problema.
Fiz dois métodos.
Uma para mostrar os dez mais sorteados e outro para mostrar os dez menos sorteados
dez mais sorteados
//*******************************************Dez Mais sorteados**********************************************************************
public void dezMaiores()
{
String selectPrimeiraDezena = "select primeira_dezena from megasena";
String selectSegundaDezena = "select segunda_dezena from megasena";
String selectTerceiraDezena = "select terceira_dezena from megasena";
String selectQuartaDezena = "select quarta_dezena from megasena";
String selectQuintaDezena = "select quinta_dezena from megasena";
String selectSextaDezena = "select sexta_dezena from megasena";
try {
st = con.createStatement();
ResultSet rs_dezmaiores = st.executeQuery(selectPrimeiraDezena);
while(rs_dezmaiores.next())
{
BigDecimal temp = (BigDecimal) rs_dezmaiores.getObject("primeira_dezena");
String temp2 = temp.toString();
int temp3 = Integer.parseInt(temp2);
todosnumeros.add(temp3);
}
ResultSet rs_dezmaiores1 = st.executeQuery(selectSegundaDezena);
while(rs_dezmaiores1.next())
{
BigDecimal temp = (BigDecimal) rs_dezmaiores1.getObject("segunda_dezena");
String temp2 = temp.toString();
int temp3 = Integer.parseInt(temp2);
todosnumeros.add(temp3);
}
ResultSet rs_dezmaiores2 = st.executeQuery(selectTerceiraDezena);
while(rs_dezmaiores2.next())
{
BigDecimal temp = (BigDecimal) rs_dezmaiores2.getObject("terceira_dezena");
String temp2 = temp.toString();
int temp3 = Integer.parseInt(temp2);
todosnumeros.add(temp3);
}
ResultSet rs_dezmaiores3 = st.executeQuery(selectQuartaDezena);
while(rs_dezmaiores3.next())
{
BigDecimal temp = (BigDecimal) rs_dezmaiores3.getObject("quarta_dezena");
String temp2 = temp.toString();
int temp3 = Integer.parseInt(temp2);
todosnumeros.add(temp3);
}
ResultSet rs_dezmaiores4 = st.executeQuery(selectQuintaDezena);
while(rs_dezmaiores4.next())
{
BigDecimal temp = (BigDecimal) rs_dezmaiores4.getObject("quinta_dezena");
String temp2 = temp.toString();
int temp3 = Integer.parseInt(temp2);
todosnumeros.add(temp3);
}
ResultSet rs_dezmaiores5 = st.executeQuery(selectSextaDezena);
while(rs_dezmaiores5.next())
{
BigDecimal temp = (BigDecimal) rs_dezmaiores5.getObject("sexta_dezena");
String temp2 = temp.toString();
int temp3 = Integer.parseInt(temp2);
todosnumeros.add(temp3);
}
} catch (SQLException e) {
System.out.println("erro no dez maiores");
e.printStackTrace();
}
Map<Integer, Integer> contagem = new HashMap<Integer, Integer>();
//Passo 1: Montar um mapa que associa o valor a quantas vezes ele pareceu
for (int valor : todosnumeros) {
if (!contagem.containsKey(valor)) {
contagem.put(valor, 0);
}
contagem.put(valor, contagem.get(valor)+1);
}
//Passo 2: Criar um TreeSet que ordene pela contagem
Set<Map.Entry<Integer, Integer>> valores = new TreeSet<Map.Entry<Integer, Integer>>(
new Comparator<Map.Entry<Integer, Integer>>() {
public int compare(Map.Entry<Integer, Integer> o1, Map.Entry<Integer, Integer> o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
valores.addAll(contagem.entrySet());
//Passo 3: Exibir os 10 maiores:
int exibidos = 0;
for (Map.Entry<Integer, Integer> valor : valores) {
System.out.printf("Número: %d Vezes: %d", valor.getKey(), valor.getValue() );
System.out.println();
exibidos++;
String temp = valor.getKey().toString();
if(exibidos == 1)
{
t_n10.setText( temp );
t_n10.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 2)
{
t_n9.setText( temp );
t_n9.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 3)
{
t_n8.setText( temp );
t_n8.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 4)
{
t_n7.setText( temp );
t_n7.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 5)
{
t_n6.setText( temp );
t_n6.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 6)
{
t_n5.setText( temp );
t_n5.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 7)
{
t_n4.setText( temp );
t_n4.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 8)
{
t_n3.setText( temp );
t_n3.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 9)
{
t_n2.setText( temp );
t_n2.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 10)
{
t_n1.setText( temp );
t_n1.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
if(exibidos == 10) break;
}
}
}
e os dez menos sorteados
public void dezMenores()
{
String selectPrimeiraDezena = "select primeira_dezena from megasena";
String selectSegundaDezena = "select segunda_dezena from megasena";
String selectTerceiraDezena = "select terceira_dezena from megasena";
String selectQuartaDezena = "select quarta_dezena from megasena";
String selectQuintaDezena = "select quinta_dezena from megasena";
String selectSextaDezena = "select sexta_dezena from megasena";
try {
st = con.createStatement();
ResultSet rs_dezmenores = st.executeQuery(selectPrimeiraDezena);
while(rs_dezmenores.next())
{
BigDecimal temp = (BigDecimal) rs_dezmenores.getObject("primeira_dezena");
String temp2 = temp.toString();
int temp3 = Integer.parseInt(temp2);
todosnumerosmenores.add(temp3);
}
ResultSet rs_dezmenores1 = st.executeQuery(selectSegundaDezena);
while(rs_dezmenores1.next())
{
BigDecimal temp = (BigDecimal) rs_dezmenores1.getObject("segunda_dezena");
String temp2 = temp.toString();
int temp3 = Integer.parseInt(temp2);
todosnumerosmenores.add(temp3);
}
ResultSet rs_dezmenores2 = st.executeQuery(selectTerceiraDezena);
while(rs_dezmenores2.next())
{
BigDecimal temp = (BigDecimal) rs_dezmenores2.getObject("terceira_dezena");
String temp2 = temp.toString();
int temp3 = Integer.parseInt(temp2);
todosnumerosmenores.add(temp3);
}
ResultSet rs_dezmenores3 = st.executeQuery(selectQuartaDezena);
while(rs_dezmenores3.next())
{
BigDecimal temp = (BigDecimal) rs_dezmenores3.getObject("quarta_dezena");
String temp2 = temp.toString();
int temp3 = Integer.parseInt(temp2);
todosnumerosmenores.add(temp3);
}
ResultSet rs_dezmenores4 = st.executeQuery(selectQuintaDezena);
while(rs_dezmenores4.next())
{
BigDecimal temp = (BigDecimal) rs_dezmenores4.getObject("quinta_dezena");
String temp2 = temp.toString();
int temp3 = Integer.parseInt(temp2);
todosnumerosmenores.add(temp3);
}
ResultSet rs_dezmenores5 = st.executeQuery(selectSextaDezena);
while(rs_dezmenores5.next())
{
BigDecimal temp = (BigDecimal) rs_dezmenores5.getObject("sexta_dezena");
String temp2 = temp.toString();
int temp3 = Integer.parseInt(temp2);
todosnumerosmenores.add(temp3);
}
} catch (SQLException e) {
System.out.println("erro no dez maiores");
e.printStackTrace();
}
Map<Integer, Integer> contagem = new HashMap<Integer, Integer>();
//Passo 1: Montar um mapa que associa o valor a quantas vezes ele pareceu
for (int valor : todosnumerosmenores) {
if (!contagem.containsKey(valor)) {
contagem.put(valor, 0);
}
contagem.put(valor, contagem.get(valor)+1);
}
//Passo 2: Criar um TreeSet que ordene pela contagem
Set<Map.Entry<Integer, Integer>> valores = new TreeSet<Map.Entry<Integer, Integer>>(
new Comparator<Map.Entry<Integer, Integer>>() {
public int compare(Map.Entry<Integer, Integer> o2, Map.Entry<Integer, Integer> o1) {
return o1.getValue().compareTo(o2.getValue());
}
});
valores.addAll(contagem.entrySet());
//Passo 3: Exibir os 10 maiores:
int exibidos = 0;
for (Map.Entry<Integer, Integer> valor : valores) {
System.out.printf("Número: %d Vezes: %d", valor.getKey(), valor.getValue());
System.out.println();
exibidos++;
String temp = valor.getKey().toString();
if(exibidos == 1)
{
t_mn1.setText( temp );
t_mn1.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 2)
{
t_mn2.setText( temp );
t_mn2.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 3)
{
t_mn3.setText( temp );
t_mn3.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 4)
{
t_mn4.setText( temp );
t_mn4.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 5)
{
t_mn5.setText( temp );
t_mn5.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 6)
{
t_mn6.setText( temp );
t_mn6.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 7)
{
t_mn7.setText( temp );
t_mn7.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 8)
{
t_mn8.setText( temp );
t_mn8.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 9)
{
t_mn9.setText( temp );
t_mn9.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
}
if(exibidos == 10)
{
t_mn10.setText( temp );
t_mn10.setToolTipText("Sorteado " + valor.getValue() + " Vezes");
if(exibidos == 10) break;
}
}
}
quando eu coloco para rodar ele chama os dois métodos em um evento de um botão “mostrar resultados”
os dez mais sorteados estão mostrando os seguintes resultados
Número: 26 Vezes: 83
Número: 39 Vezes: 92
Número: 9 Vezes: 93
Número: 22 Vezes: 97
Número: 48 Vezes: 98
Número: 11 Vezes: 99
Número: 2 Vezes: 100
Número: 60 Vezes: 102
por enquanto tudo certo.
mais nos dez menos sorteados.
Número: 41 Vezes: 134
Número: 33 Vezes: 130
Número: 5 Vezes: 129
Número: 42 Vezes: 128
Número: 17 Vezes: 127
Número: 4 Vezes: 126
Número: 24 Vezes: 125
Número: 23 Vezes: 124
Número: 54 Vezes: 123
a quantidade de vezes que os numeros menos sorteados apareceram é bem maior do que a dos numeros mais sorteados.
mudei a parte no compareTo,
será que teria que mudar mais algo?