Dúvida em atividade de programação em java sobre megasena

5 respostas
Brenitcho

Preciso fazer essa atividade da faculdade. Sou iniciante em java, primeiro ano na faculdade tbm.

Se alguém puder ajudar

Eu gostaria de saber como faço pra repetir o valor digitado no scanner, por exemplo, digito 3 e entao teria que gerar 3 jogos de 6 numeros

Faça um programa em java que peça ao usuário a quantidade de jogos que ele quer fazer, depois a quantidade de números de cada jogo (de 6 a 15).
Após essa informação, gerar a quantidade de jogos da megasena baseado nos parâmetros do usuário.

Exemplo:
Quantos jogos você quer fazer? 3
De quantos números? 6

2 7 28 30 45 60
10 7 5 60 3 21
28 3 1 59 60 22

5 Respostas

FearX

Você está estudando laços de repetição, provavelmente. Pesquise sobre isso!

Dica: For ou while;

Brenitcho

Sim, minhas ultimas aulas foram sobre laços de repetição e assimilei bem, porém minha única dúvida está sendo onde encaixar a variável jogos (digitada através da classe Scanner) num For ou while para que possa haver então essa combinação de jogos e os 6 numeros aleatórios

FearX

Vou fazer algo genérico aqui, ok?

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);

    System.out.println("Quantas vezes quer jogar?");
    int limiteDeJogadas = scan.nextInt();

    for (int i = 0; i < limiteDeJogadas; i++) {
        //gera os números aleatoriamente
    }
}

tem esse exemplo de um cacaniqueis no github.

Brenitcho

Essa ta sendo a forma que eu to conseguindo fazer, mas infelizmente eu nao to conseguindo fazer com que gere mais de um jogo com 6 numeros, no caso nao to conseguindo colocar pra gerar a quantidade de jogos que foi armazenado na variavel “jogos”

import java.util.Random;
import java.util.Scanner;

/**
 * AtividadeMegaSena
 */
public class AtividadeMegaSena {

    public static void main(String[] args) {
        
        Scanner teclado = new Scanner(System.in);
        System.out.println("Quantos jogos você quer fazer?");
       
        int jogos = teclado.nextInt();

        Random aleatorio = new Random();

        int[] numeros = new int[6];

        for (int i = 1; i <= numeros.length; i++) {
            System.out.println(aleatorio.nextInt(61));
           
        }



        teclado.close();
    }

    
}
FearX

É porque você tá fazendo errado.

Veja bem, se você quer gerar N jogos de 6 números, você precisa fazer com que toda a parte de gerar os números fique num laço de repetição com N repetições.

Seu laço de repetição está errado. Você tem que perceber o que você quer que repita, e quantas vezes for preciso.

Por exemplo:

public class megasena {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        Random random = new Random();
        int jogosQueJaForam = 0;
        int[] numerosGerados= new int[6];

        System.out.println("Quantos jogos?");
        int quantidadeDeJogos = scan.nextInt();

        do {
            System.out.println("Mega Sena!");
            System.out.println("Gerando números...");
            for (int i = 0; i < 6; i++) {
                numerosGerados[i] = random.nextInt(61);
            }
            System.out.println(Arrays.toString(numerosGerados));
            jogosQueJaForam++;
        } while (jogosQueJaForam != quantidadeDeJogos);
    }
}

Saída:

Quantos jogos?
2
Mega Sena!
Gerando números…
[33, 5, 60, 39, 39, 2]
Mega Sena!
Gerando números…
[21, 3, 22, 20, 1, 45]

Criado 24 de maio de 2019
Ultima resposta 27 de mai. de 2019
Respostas 5
Participantes 2