Codigo megasena com opções

Fiz esse código com um menu ate 15 números e quero organizar melhor ele, podem me ajudar! (sou novo aqui!!!)

public class MegaSena {

	public static void main(String[] args) {

		Scanner reader = new Scanner(System.in);
		System.out.println("Bem vindo ao gerador de jogos");
		System.out.println("Entre com o tipo de jogo que voce deseja.");
		System.out.println("1- Para jogo com 6 numeros.");
		System.out.println("2- Para jogo com 7 numeros.");
		System.out.println("3- Para jogo com 8 numeros.");
		System.out.println("4- Para jogo com 9 numeros.");
		System.out.println("5- Para jogo com 10 numeros.");
		System.out.println("6- Para jogo com 11 numeros.");
		System.out.println("7- Para jogo com 12 numeros.");
		System.out.println("8- Para jogo com 13 numeros.");
		System.out.println("9- Para jogo com 14 numeros.");
		System.out.println("10- Para jogo com 15 numeros.");
		int lido = reader.nextInt();
		if (lido == 1) {
			List<Integer> numeros = new ArrayList<>();

			for (int i = 1; i <= 60; i++) {
				numeros.add(i);
			}

			Collections.shuffle(numeros);
			List<Integer> escolhidos = numeros.subList(0, 6);

			Collections.sort(escolhidos);

			for (Integer escolhido : escolhidos) {
				if (escolhido < 10) {
					System.out.print("0" + escolhido + " ");
				} else {
					System.out.print(escolhido + " ");
				}
			}
			System.out.println("");
			System.out.println("Jogo com 6 números gerado.");

		}

		if (lido == 2) {
			List<Integer> numeros = new ArrayList<>();

			for (int i = 1; i <= 60; i++) {
				numeros.add(i);
			}

			Collections.shuffle(numeros);
			List<Integer> escolhidos = numeros.subList(0, 7);

			Collections.sort(escolhidos);

			for (Integer escolhido : escolhidos) {
				if (escolhido < 10) {
					System.out.print("0" + escolhido + " ");
				} else {
					System.out.print(escolhido + " ");
				}
			}
			System.out.println("");
			System.out.println("Jogo com 7 números gerado.");

		}
		if (lido == 3) {
			List<Integer> numeros = new ArrayList<>();

			for (int i = 1; i <= 60; i++) {
				numeros.add(i);
			}

			Collections.shuffle(numeros);
			List<Integer> escolhidos = numeros.subList(0, 8);

			Collections.sort(escolhidos);

			for (Integer escolhido : escolhidos) {
				if (escolhido < 10) {
					System.out.print("0" + escolhido + " ");
				} else {
					System.out.print(escolhido + " ");
				}
			}
			System.out.println("");
			System.out.println("Jogo com 8 números gerado.");

		}
		if (lido == 4) {
			List<Integer> numeros = new ArrayList<>();

			for (int i = 1; i <= 60; i++) {
				numeros.add(i);
			}

			Collections.shuffle(numeros);
			List<Integer> escolhidos = numeros.subList(0, 9);

			Collections.sort(escolhidos);

			for (Integer escolhido : escolhidos) {
				if (escolhido < 10) {
					System.out.print("0" + escolhido + " ");
				} else {
					System.out.print(escolhido + " ");
				}
			}
			System.out.println("");
			System.out.println("Jogo com 9 números gerado.");

		}
		if (lido == 5) {
			List<Integer> numeros = new ArrayList<>();

			for (int i = 1; i <= 60; i++) {
				numeros.add(i);
			}

			Collections.shuffle(numeros);
			List<Integer> escolhidos = numeros.subList(0, 10);

			Collections.sort(escolhidos);

			for (Integer escolhido : escolhidos) {
				if (escolhido < 10) {
					System.out.print("0" + escolhido + " ");
				} else {
					System.out.print(escolhido + " ");
				}
			}
			System.out.println("");
			System.out.println("Jogo com 10 números gerado.");
		}

		if (lido == 6) {
			List<Integer> numeros = new ArrayList<>();

			for (int i = 1; i <= 60; i++) {
				numeros.add(i);
			}

			Collections.shuffle(numeros);
			List<Integer> escolhidos = numeros.subList(0, 11);

			Collections.sort(escolhidos);

			for (Integer escolhido : escolhidos) {
				if (escolhido < 10) {
					System.out.print("0" + escolhido + " ");
				} else {
					System.out.print(escolhido + " ");
				}
			}
			System.out.println("");
			System.out.println("Jogo com 11 números gerado.");
		}
		if (lido == 7) {
			List<Integer> numeros = new ArrayList<>();

			for (int i = 1; i <= 60; i++) {
				numeros.add(i);
			}

			Collections.shuffle(numeros);
			List<Integer> escolhidos = numeros.subList(0, 12);

			Collections.sort(escolhidos);

			for (Integer escolhido : escolhidos) {
				if (escolhido < 10) {
					System.out.print("0" + escolhido + " ");
				} else {
					System.out.print(escolhido + " ");
				}
			}
			System.out.println("");
			System.out.println("Jogo com 12 números gerado.");
		}
		if (lido == 8) {
			List<Integer> numeros = new ArrayList<>();

			for (int i = 1; i <= 60; i++) {
				numeros.add(i);
			}

			Collections.shuffle(numeros);
			List<Integer> escolhidos = numeros.subList(0, 13);

			Collections.sort(escolhidos);

			for (Integer escolhido : escolhidos) {
				if (escolhido < 10) {
					System.out.print("0" + escolhido + " ");
				} else {
					System.out.print(escolhido + " ");
				}
			}
			System.out.println("");
			System.out.println("Jogo com 13 números gerado.");
		}
		if (lido == 9) {
			List<Integer> numeros = new ArrayList<>();

			for (int i = 1; i <= 60; i++) {
				numeros.add(i);
			}

			Collections.shuffle(numeros);
			List<Integer> escolhidos = numeros.subList(0, 14);

			Collections.sort(escolhidos);

			for (Integer escolhido : escolhidos) {
				if (escolhido < 10) {
					System.out.print("0" + escolhido + " ");
				} else {
					System.out.print(escolhido + " ");
				}
			}
			System.out.println("");
			System.out.println("Jogo com 14 números gerado.");
		}
		if (lido == 10) {
			List<Integer> numeros = new ArrayList<>();

			for (int i = 1; i <= 60; i++) {
				numeros.add(i);
			}

			Collections.shuffle(numeros);
			List<Integer> escolhidos = numeros.subList(0, 15);

			Collections.sort(escolhidos);

			for (Integer escolhido : escolhidos) {
				if (escolhido < 10) {
					System.out.print("0" + escolhido + " ");
				} else {
					System.out.print(escolhido + " ");
				}
			}
			System.out.println("");
			System.out.println("Jogo com 15 números gerado.");
		}
	}
}

Comece a estudar programação orientada a objetos.

[]'s

Em vez de usar o if para vericar o número lido você pode usar um switch case e caso queira deixar melhor ainda separar cada tarefa em métodos separados

o codigo funciona e estou estudando!!

ok vou tentar isso.

Não fique chateado, você pediu sugestões de melhoria e o colega @FearX sugeriu usar programação orientada à objetos.

Eu começaria criando uma classe pra representar aqueles globos da sorte utilizados pra sortear as bolinhas numeradas:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;

public class GloboDaSorte {

    private List<Integer> numeros;

    public GloboDaSorte(int de, int ate) {
        numeros = new ArrayList<>();
        for (int numero = de; numero <= ate; numero++) {
            numeros.add(numero);
        }
    }

    public int[] sortear(int quantidade) {
        int[] sorteados = new int[quantidade];
        Random random = new Random();
        for (int i = 0; i < quantidade; i++) {
            int posicaoSorteada = random.nextInt(numeros.size());
            sorteados[i] = numeros.remove(posicaoSorteada);
        }
        Arrays.sort(sorteados);
        return sorteados;
    }
}

Em seguida escreveria o programa para usar esse globo da sorte:

import java.io.PrintStream;
import java.util.Scanner;

public class Programa {

    public static void main(String[] args) {
        Programa programa = new Programa();
        programa.executar();
    }

    private final Scanner entrada = new Scanner(System.in);
    private final PrintStream saida = System.out;

    public void executar() {
        saida.println("Bem vindo ao gerador de jogos");
        int quantidade = escolherJogo();
        GloboDaSorte globo = new GloboDaSorte(1, 60);
        int[] numeros = globo.sortear(quantidade);
        saida.println("Jogo com " + quantidade + " números gerado:");
        for (int numero : numeros) {
            saida.printf(" %02d", numero);
        }
        saida.println();
    }

    private int escolherJogo() {
        saida.println("Entre com o tipo de jogo que voce deseja.");
        int[] jogos = new int[] { 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
        for (int i = 0; i < jogos.length; i++) {
            saida.printf("%2d- Para jogo com %d numeros.%n", (i + 1), jogos[i]);
        }
        int escolhido = Integer.parseInt(entrada.nextLine()) - 1;
        return jogos[escolhido];
    }
}
2 curtidas

Não fiquei chateado , obrigado !!! mas eu queria exercitar mais rs

1 curtida