colegas,
preciso criar um programa que gera 100 jogos da mega-sena e depois gera um relatório informando a quantidade de vezes que cada número foi sorteado. Quem puder me ajudar agradeço desde já!
colegas,
preciso criar um programa que gera 100 jogos da mega-sena e depois gera um relatório informando a quantidade de vezes que cada número foi sorteado. Quem puder me ajudar agradeço desde já!
ehehe querendo ganha dinheiro kkk
usa um random
http://java.sun.com/j2se/1.5.0/docs/api/java/util/class-use/Random.html
vai armazenando os resultados em um array, depois usa um for para contar os numeros
você pode utilizar a classe randon pegando resto da divisão por 60
para contar a quantidade de vezes que um número foi sorteado, você pode utilizar desde arrays como hashmap
alguns sites para te ajudar
[quote].
http://www.rodrigolazoti.com.br/?p=27
http://www.koders.com/java/fidE18A804E24AEFE671AABA01ADD270A89335B18A0.aspx?s=file%3Ahex.java
http://www.javafree.org/topic-870256-Programa-da-Mega-sena.html
http://www.guj.com.br/posts/list/67752.java
[/quote]
bons códigos!
Eu ia indicar um exemplo que tem no meu blog, mas o faelcavalcanti já fiz isso!
Mas a minha dica é a mesma que o faelcavalcanti escreveu!
int jogo[] = new int[60];
for(int contador=0;contador<100;contador++){
int numero = (int) ((1 + Math.random() * 60)-1);
jogo[numero] +=1;
}
for(int contador=0;contador<60;contador++){
System.out.println((contador+1) + " - " + jogo[contador]);
}
você pode melhorar
[quote=mfp.c][code]
int jogo[] = new int[60];
for(int contador=0;contador<100;contador++){
int numero = (int) ((1 + Math.random() * 60)-1);
jogo[numero] +=1;
}
for(int contador=0;contador<60;contador++){
System.out.println((contador+1) + " - " + jogo[contador]);
}
[/code]
basta algumas alterações e pronto :)[/quote]
Gente preciso fazer um pareciso mas nao posso usar array.
e nao estou conseguindo
O programa postado pode gerar números repetidos, para um mesmo jogo.
O ideal é criar um arrayList, com números de 1 até 60. Use sobre ele o Collections.shuffle.
Então, pegue os 6 primeiros números do arrayList. Repita esse processo 100 vezes.
Para a parte de informar quantas vezes cada número foi sorteado, basta usar um Map. Crie um Map<Integer, Integer> e faça a soma nele.
[quote=camila.nuri]Gente preciso fazer um pareciso mas nao posso usar array.
e nao estou conseguindo[/quote]
Não vai conseguir mesmo. Sem usar array fica complicadíssimo fazer. Você pode postar o que você já fez e o enunciado correto em outro tópico?
Entao com array sei fazer…não estou conseguindo fazer sem
import javax.swing.JOptionPane;
public class MegaSena
{
private String palpite;
public int MegaSena()
{
for(int cont = 0;cont < 60;cont++)
{
}
public void geraPalpite(int quantidade)
{
palpite = "";
for(int i = 0; i < 6 * quantidade; i ++)
{
if(i > 0 && i % 6 == 0)
{
palpite += "\n";
}
int tmpPalpite = (int)(Math.random() * 60 + 1);
palpite += String.valueOf(tmpPalpite) + ", ";
}
JOptionPane.showMessageDialog(null, palpite);
}
}
[code]import javax.swing.JOptionPane;
public class MegaSena
{
private String palpite;
public int MegaSena()
{
for(int cont = 0;cont < 60;cont++)
{
}
public void geraPalpite(int quantidade)
{
palpite = “”;
for(int i = 0; i < 6 * quantidade; i ++)
{
if(i > 0 && i % 6 == 0)
{
palpite += “\n”;
}
int tmpPalpite = (int)(Math.random() * 60 + 1);
palpite += String.valueOf(tmpPalpite) + ", ";
}
JOptionPane.showMessageDialog(null, palpite);
}
} [/code]
Este codigo eu que fiz…so q nao esta completo
Camila,
Conforme o Fulvio fez, nós teremos que armazenar os valores numa String, e depois apresenta-lá no final do programa. Essa é a única maneira de fazer este programa sem usar Array.
Entao pode fazer…rs
Quem me dera, eu sei exatamente o que fazer, mas tenho dificuldades na hora de colocar isso pra funcionar… Não sei o que acontece que eu travo e não sai nada.
[quote=JAQUELINEDIAS]Camila,
Conforme o Fulvio fez, nós teremos que armazenar os valores numa String, e depois apresenta-lá no final do programa. Essa é a única maneira de fazer este programa sem usar Array.
[/quote]
Strings em JAVA são um tipo de Array.
xD
Usa collection
Strings em C e C++ são um tipo de Array. Em java, não tem nada a ver com isso. Uma grande diferença é que são totalmente imutáveis.
amigos eu adorei os jogos mas preciso d um q o usuario, jogue um jogo, e depois faça o sorteio, e demonstre em baixo, si ele foi sorteado si ganhou na quadra ou quina ou mega, entenderam… si ouve ganhador como posso fazer isso??
Amigos preciso de ajuda, eu fiz esse programa mas preciso q elem de ele jogar ele abra uma janela de opçao pra o usuario jogar, e ainda mostrar o resultado si ele foi sorteado em algum processo tipo quadra ou quina alguem pode me ajudar??
Codigo da loteria
/*
package init;
//classes importadas
import javax.swing.;
import java.awt.;
import java.awt.event.*;
import java.text.ParseException;
import javax.swing.text.MaskFormatter;
import java.util.Random;
/**
*
//classe Bicho
public class Bicho extends JFrame {
//cria JLabel
JLabel lbQntNumeros, lbQntJogos, lbNumMax, lbNumSorteados;
//cria campo para diigitar nome do usuário
JFormattedTextField edQntNumeros, edQntJogos, edNumMax;
MaskFormatter msQntNumeros, msQntJogos, msNumMax;
//cria botões
JButton btSortear;
//Cria listas
JList lNumSorteados;
//array que armazena os valores de cada jogo
int jogo[] = new int[99];
//array que armazena todos os jogos
String listaJogos[] = new String[9999];
//construtor da classe
public Bicho() {
//titulo da janela
super("Sorteia números");
ImageIcon icone = new ImageIcon("imagem.jpg");
setIconImage(icone.getImage());
for(int i = 0; i < listaJogos.length; ++i)
listaJogos[i] = "Jogo " + String.valueOf(1+i) + ": ";
//configura a quantidade de colunas e linhas
setLayout(null);
//cor do formulario
Container fundo = getContentPane();
//fundo.setBackground(Color.red);
/** Inicializa os JLabel */
lbQntNumeros = new JLabel("Quantidade de números");
lbQntJogos = new JLabel("Quantidade de jogos");
lbNumMax = new JLabel("Número de 1 até...");
lbNumSorteados = new JLabel("Números sorteados");
/** fim JLabel */
/** Inicializa os JList */
lNumSorteados = new JList(listaJogos);
lNumSorteados.setVisibleRowCount(5);
JScrollPane barraRolagem = new JScrollPane(lNumSorteados);
lNumSorteados.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
/** fim JList */
/** Inicializa Mascaras */
try {
msQntNumeros = new MaskFormatter("##");
msQntJogos = new MaskFormatter("####");
msNumMax = new MaskFormatter("##");
}
catch(ParseException excp) {}
/** Fim Mascaras */
/** Inicializa JFormattedTextField */
edQntNumeros = new JFormattedTextField(msQntNumeros);
edQntJogos = new JFormattedTextField(msQntJogos);
edNumMax = new JFormattedTextField(msNumMax);
/** fim JTextField e JPasswordField */
/** inicializa os JButton */
btSortear = new JButton("Sortear");
/** fim JButton */
/** Posiciona os componentes */
//JLabel
lbQntNumeros.setBounds(20, 20, 300, 20);
lbQntJogos.setBounds(20, 70, 300, 20);
lbNumMax.setBounds(20, 120, 300, 20);
lbNumSorteados.setBounds(200, 20, 300, 20);
//JFormattedTextField
edQntNumeros.setBounds(20, 40, 150, 20);
edQntJogos.setBounds(20, 90, 150, 20);
edNumMax.setBounds(20, 140, 150, 20);
//JButton
btSortear.setBounds(225, 190, 150, 20);
//JList
barraRolagem.setBounds(200, 40, 370, 120);
/** fim da posição dos componentes */
//botão padrão ao apertar ENTER
getRootPane().setDefaultButton(btSortear);
/** Ação JButton */
btSortear.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
sorteador();
lNumSorteados.repaint();
}
});
/** fim Ação JButton */
/** insere os componentes no formulário */
//JLabel
add(lbQntNumeros);
add(lbQntJogos);
add(lbNumMax);
add(lbNumSorteados);
//JTextField
add(edQntNumeros);
add(edQntJogos);
add(edNumMax);
//JButton
add(btSortear);
//JList
add(barraRolagem);
/** fim da inserção de componentes */
//tamanho do formulário
setSize(600, 250);
//torna o formulário visível
setVisible(true);
//não permite redimencionamento do formulário
setResizable(false);
//mostra o furmulário sempre no centro da tela
setLocationRelativeTo(null);
} //fim do construtor
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Bicho app = new Bicho();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} //fim do método main
public void sorteador() {
//cria objeto Random e atribui a numeroAleatorio
Random numeroAleatorio = new Random();
//String para armazenar os resultados do array jogo acumulado
String jogoFinal = "";
//cria Strings e atribui os valores dos JFormattedTextField
String qntNumeros = edQntNumeros.getText();
String qntJogos = edQntJogos.getText();
String numMax = edNumMax.getText();
//cria integers para armazenar os valores em inteiros
int numeros = 0;
int jogos = 0;
int max = 0;
//verifica se todos os JFormattedTextField foram preenchidos, se não exibe uma mensagem
if (!qntNumeros.trim().equals("") &&
!qntJogos.trim().equals("") &&
!numMax.trim().equals("")) {
numeros = Integer.parseInt(qntNumeros);
jogos = Integer.parseInt(qntJogos);
max = Integer.parseInt(numMax);
//if que verifica se o valor max é suficiente em relação aos digitos
if (max / 2 >= numeros) {
for(int i = 0; i < jogo.length; ++i)
jogo[i] = 0;
//for número de jogos
for(int z = 0; z < jogos; ++z) {
//for que sorteia os números
for(int i = 0; i < numeros; ++i) {
int jogoTmp = 1 + numeroAleatorio.nextInt(max);
jogo[i] = jogoTmp;
} //fim do for que sorteia os números
//for que passa os valores do array para acumular em uma string
for(int i = 0; i < numeros; ++i) {
jogoFinal += String.valueOf(jogo[i]) + " ";
} //fim do for que passa os valores do array para acumular em uma string
//adiciona o jogo no array que guarda os jogos
listaJogos[z] = "Jogo " + String.valueOf(1+z) + ": " + jogoFinal;
//coloca a variável jogoFinal novamente como ""
jogoFinal = "";
} //fim do for número de jogos
}
else
JOptionPane.showMessageDialog(null, "O valor máximo tem que ser no mínimo duas vezes maior que a quantidade de números!!",
"Corriga o valor máximo", JOptionPane.INFORMATION_MESSAGE);
//fim do if que verifica se o valor max é suficiente em relação aos digitos
}
else
JOptionPane.showMessageDialog(null, "É fundamentão que seja digitado valores em todos os campos!!",
"Faltou campo a ser digitado", JOptionPane.INFORMATION_MESSAGE);
//fim do if que verifica se todos os campos foram preenchidos
} //fim do método sorteador