Ir ao conteúdo
  • Cadastre-se

Java Busca no banco de dados antes de gerar aleatoriamente as sequencias


Posts recomendados

Galera, estou tentando fazer algo mas não estou conseguindo. Crie um sisteminha que gera combinações aleatorias, onde antes de iniciar a geração dos numeros, eu digo que numeros naõ devem participar do sorteio. Eles são jogados num array e não participam do sorteio. O programa gera os jogos apenas no console. Eu gostaria de fazer com que ao invés de apontar manualmente os numeros que não irão participar do sorteio, que o sistema gere os numeros e guarde num bando de dados. A partir de então, quando fosse gerar novamente, que ele consultasse se o numero gerado ja exisite no banco e se sim, não o utlizasse. Logo abaixo coloquei o meu codigo. Peço que alguém me ajude a melhorar isso ai

janelaPrincipal.setTitle("Gerar Números");
		

		btAddNumero.addActionListener(new ActionListener() {

			int count = 0;
			//int tmp=0;
			
			List<Integer> valoresRejeitados = new ArrayList<>();
			ArrayList<Integer> valoresAceitos = new ArrayList<Integer>();
			Random valorRandomico = new Random();
			
			@Override
			public void actionPerformed(ActionEvent e) {
				
				int tmp = 0;
				int temp = Integer.parseInt(field1.getText());
				String temp2 = String.valueOf(temp); 
				if (count < 5) {
					
					if(!valoresRejeitados.contains(temp)){
						
						valoresRejeitados.add(temp);
						label3.setText(valoresRejeitados.toString());
						
						count++;
					}else{
						JOptionPane.showMessageDialog(null, "Este número já foi inserido!");
					}
				}
				if(count==5){
					/*
					 * for que gera 10 combinações de números
					 */
					for(int j=0; j<340; j++){
						//limpa a lista de combinações
						valoresAceitos.clear();
						System.out.print("Combinação #" + (j+1) + "{");
						
						/*
						 * for que gera os cinco numeros de cada grupo
						 */
						for(int k=0; k<5; k++){
							
							/*
							 * o while se repete enquanto o numero gerado for repetido
							 */
							while(true){
								
								//gera numero aleatório entre 1 e 25
								tmp = 1 + valorRandomico.nextInt(80);
								
								/*
								 * verifica se a lista de combinações(valores aceitos) contem numeros repetidos
								 * digitados ou gerados
								 */	
								if(!valoresAceitos.contains(tmp) && !valoresRejeitados.contains(tmp)){	
									valoresAceitos.add(tmp);
									
									//sai do laço while
									break;
								}
							}
							//exibe o numero gerado
							System.out.print(" " + tmp);
						}
						System.out.println("}");
						
						switch (j) {
						case 0:
							label4.setText("Combinação "+(j+1) + ": " + valoresAceitos.toString());
							label4.repaint();							
							break;
						case 1:
							label5.setText("Combinação "+(j+1)+ ": " + valoresAceitos.toString());
							label5.repaint();							
							break;
						case 2:
							label6.setText("Combinação "+(j+1) + ": " + valoresAceitos.toString());
							label6.repaint();							
							break;
						case 3:
							label7.setText("Combinação "+(j+1) + ": " + valoresAceitos.toString());
							label7.repaint();							
							break;
						case 4:
							label8.setText("Combinação "+(j+1) + ": " + valoresAceitos.toString());
							label8.repaint();							
							break;
						case 5:
							label9.setText("Combinação "+(j+1) + ": " + valoresAceitos.toString());
							label9.repaint();							
							break;
						case 6:
							label10.setText("Combinação "+(j+1) + ": " + valoresAceitos.toString());
							label10.repaint();							
							break;
						case 7:
							label11.setText("Combinação "+(j+1) + ": " + valoresAceitos.toString());
							label11.repaint();							
							break;
						case 8:
							label12.setText("Combinação "+(j+1) + ": " + valoresAceitos.toString());
							label12.repaint();							
							break;
						case 9:
							label13.setText("Combinação "+(j+1) + ": " + valoresAceitos.toString());
							label13.repaint();							
							break;
                                                case 10:
							label14.setText("Combinação "+(j+1) + ": " + valoresAceitos.toString());
							label14.repaint();							
							break; 
                                                case 11:
							label15.setText("Combinação "+(j+1) + ": " + valoresAceitos.toString());
							label15.repaint();							
							break; 
                                                case 12:
							label16.setText("Combinação "+(j+1) + ": " + valoresAceitos.toString());
							label16.repaint();							
							break;    
						

						default:
							
							break;
						}

alguém poderia me ajudar ?

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!