/*
 A idéia do programa e tirar números aleatóriamente do globo de números e colocá - lo no globo de apostas
 a posição que foi retirado o número, recebe zero e depois recebe o valor da ultima posição do vetor.
 Diminui o tamanho do vetor em 1.


 */

public class MegasenaDaVirada7 {

    int Ultima_Posicao = 19;
    int Posicao_atual = 0;

    //int []nota new int[70];
    int[] Globo_Numeros = {7, 46, 40, 3, 28,  38, 29, 33, 57, 56, 5, 39, 54, 23, 24, 25, 4, 50, 30};
    
    int[] Globo_Apostas = new int[19];

    //Método construtor
    public MegasenaDaVirada7() {
        Carrega_Globo_Numeros();
        Carrega_Globo_Apostas();
            //Imprime_Vetor(Globo_Apostas);
        //Imprime os jogos
        Metodo_Imprime_Apostas(Globo_Apostas);

    }

    //Método para carregar o vator primário ou glodo de números

    public int[] Carrega_Globo_Numeros() {
        System.out.println(" IMPRIME VETOR ORIGINAL ");
        int i = 0;
        while (i < 19) {

            Globo_Numeros[i] = i + 1;
            i = i + 1;
        }
        System.out.println(" //////////////////////////////////////////////////////");
        return Globo_Numeros;

    }

    public void Carrega_Globo_Apostas() {
        int Contador = 0;
        while (Contador < 19) {
            Posicao_atual = Retorna_Numero_Aleatorio(Ultima_Posicao);
            Globo_Apostas[Contador] = Globo_Numeros[Posicao_atual];  //Tira um numero qualquer e coloca na sequencia aleatória
            Globo_Numeros[Posicao_atual] = Globo_Numeros[0]; //Pega o numero que esta na primeira posição e coloca na posição atual
            Globo_Numeros[0] = Globo_Numeros[Ultima_Posicao];
            //System.out.println(" - "+ Globo_Apostas [Contador] );
            Ultima_Posicao = Ultima_Posicao - 1;
            Contador = Contador + 1;
        }

    }

    //Método para gerar um número aleatorio

    public int Retorna_Numero_Aleatorio(int qtde_Numeros) {
        int i = 1 + (int) (Math.random() * qtde_Numeros);
        return i;
    }

    //Método imprime as apostas

    public void Metodo_Imprime_Apostas(int Numeros[]) {
        int aux = 0;
        System.out.println("Imprimindo apostas ");

        while (aux < 19) {

            if ((aux) % 6 == 0) {
                System.out.println("");
            }
            System.out.print(" - " + Numeros[aux]);
            aux = aux + 1;
        }
    }

    //Método imprime Globo de Numeros

    public void Imprime_Vetor(int Vetor[]) {
        int Tamanho_do_Vetor = Vetor.length;
        int aux = 0;
        System.out.println("" + aux);
        while (aux < Tamanho_do_Vetor) {
            System.out.println("" + Vetor[aux]);
            aux = aux + 1;
        }
    }
    /*
     public void Imprime_apostas()
     {
     int aux = 0;
     while (aux < 60)
     {
     System.out.println(""+ Globo_Apostas [aux]);
     aux = aux + 1;
     }
     }
     */

    //Método executor
    public static void main(String args[]) {
        new MegasenaDaVirada7();
    }

}