Pessoal e o seguinte peciso sortear 4 numeros de um total de N… numeros… isso eu ja conseguir fazer… so que to tentando e quebrando a cabeça para fazer a verificação se dessa lista de numeros que passei os 4 sorteados nao sao repeditos pois o random nao verifica isso… ai sempre ele repete os numeros o trecho de codigo abaixo e o que ja fiz…
public static void GeraProdutoaleatorio(HttpSession Sessao)
{
Vector vProdutos = new Vector();
vProdutos = jDMO("CA_Produtos","IDProduto,Descricao,Categoria,Setor,Preco,Status"," Where Descricao Like'%m%'");
int Inicio = 1;
int Fim = vProdutos.size();
Log("vProdutos.size()"+Fim);
int QtdNumero = 4;
int Numeros[] = new int[Fim];
for (int iContador=0; iContador<Fim; iContador++) {
//value = Inicio + (int) ( Math.random() * Fim );
Numeros[iContador] = Integer.parseInt(Recordfields(vProdutos,"IDProduto",iContador));
Log("iContador====>"+iContador);
Log("Numeros[iContador]:="+Numeros[iContador]);
}
int Resultado[] = new int[QtdNumero];
for (int cont=0; cont<QtdNumero; cont++) {
Random random = new Random();
int Ind = random.nextInt(Numeros.length);
Log("Numero Sorteado:="+Ind);
//Resultado[cont]=Ind;
//for (int x=0; x<QtdNumero; x++) {
Vector vInfo = new Vector();
vInfo = jDMO("CA_Produtos","IDProduto,Descricao,Categoria,Setor,Preco,Status","Where IDProduto="+Numeros[Ind]+"");
ArmazenaSessao(Sessao,"IMGProduto"+cont,Numeros[Ind]);
String sDescricao = Recordfields(vInfo,"Descricao",0);
String sPreco = Recordfields(vInfo,"Preco",0);
ArmazenaSessao(Sessao,"DescricaoProduto"+cont,sDescricao);
ArmazenaSessao(Sessao,"PrecoProduto"+cont,sPreco);
//}
}
}
cara, primeiro coloque seu código entre as tags code e /code. Segundo, tu pode armazenar os numeros ja sorteados em um array e verificar a cada sorteio se o número sorteado está dentro do array…
obrigado, à desculpe pelo code /code e que me cadastrei hoje que dizer agora pra ser exato e nao deu tempo ainda de familiarizar com o site… obrigado pela dica mas ja tentei fazer isso… tenho o vetor com os 4 numeros sorteados … acho que hoje nao consigo pensasr mais nao… seria um for dentro do outro… so se eu quebrar o meu codigo e criar uma metodo so para o sorteio…