Duvida com Coleções

1 resposta
G

Estou tentando fazer um programinha Loto usando coleções em JAVA, mas estou apanhando muito. Criei esta classe que esta logo abaixo, mas agora não consigo criar ama App (main) para rodar o programa. Sinceramente este é um trabalhinho em Java que tenho que entregar, mas estou viajando com esse negocio de coleções. Nem sei se a classe Loteria que criei esta correta. Se alguém poder me dar algumas dicas de como fazer essa App (main) ou se minha classe esta correta ou errada agradeço muito.

package br.factau;
import java.util.Iterator;
import java.util.TreeSet;
import java.util.Set;

public class Loteria {

    private TreeSet <Integer> aposta;
    
    public TreeSet <Integer> getAposta(){ return aposta;}

    public void setAposta(TreeSet <Integer> aposta){this.aposta=aposta;}
    
    public void setAposta (Integer numero){
        aposta.add(numero);
    }

    public TreeSet <Integer> sorteiaNumeros(int quantos){
        TreeSet <Integer> valores = new TreeSet <Integer>();
        while(valores.size()<quantos){
            Integer umNumero=new Integer ((int)(60*Math.random()));
            valores.add(5);
        }
        return valores;
    }

    public void exibe (Set <Integer> conj, String msg ){  
        Iterator iterator = conj.iterator();
        String val="Super Loteria\n"+msg+"\n";
        while (iterator.hasNext()){
            val+=(Integer)iterator.next();}
        System.out.print(msg);
    }

    public int acertos (Set <Integer> conj){
        Iterator iterator = conj.iterator();
        int conta=0;
        while (iterator.hasNext()){
            if(aposta.contains(iterator.next()))conta++;
        }
        return conta;
    }
    
    }

1 Resposta

juliano_FRG
Amigo, a primeira sugestão que dou é usar a tag "code" quando colocar código para facilitar a leitura. Não sei qual é exatamente as funcionalidades que deseja, mas pelo código que colocou a alguns pontos a serem considerados:
//Este método vai adicionar sempre o valor 5 na coleção de valores!!!!
	public TreeSet <Integer> sorteiaNumeros(int quantos)
	{ 
		TreeSet <Integer> valores = new TreeSet <Integer>(); 

		while(valores.size()<quantos)
		{ 
			Integer umNumero=new Integer ((int)(60*Math.random())); 
			valores.add(5); 
		} 
		return valores; 
	}
Se pretendia com esse método
public void exibe (Set ><Integer> conj, String msg )
	{ 
		Iterator iterator = conj.iterator(); 
		String val="Super Loteria\n"+msg+"\n"; 

		while (iterator.hasNext())
		{ 
			val+=(Integer)iterator.next();
		} 
		System.out.print(msg); 
	}
mostrar os valores armazenados você teria que fazer algo como:
while (iterator.hasNext())
		{ 
			System.out.println(iterator.next().toString());
		}
ou ele apenas vai iterar sobre o iterator sem fazer nada e depois imprimir msg. Uma sugestão de boa prática de programação é parametrizar seus iterators quando cria.
Criado 16 de novembro de 2008
Ultima resposta 18 de nov. de 2008
Respostas 1
Participantes 2