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

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

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

Dica: For ou while;

1 curtida

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

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.

1 curtida

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();
    }

    
}

É 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]