Pass data contained in Arraylist to attributes of an object

-1

Through the Scanner, I read an .htm file and pass the data it contains to a String ArrayList. I need to assign this ArrayList data to "game" objects. The Game class already exists, with all the attributes, getters and setters ..

The list looks like this:

1 (primeiro atributo do primeiro objeto jogo)
11/03/1996
04
05
30
33
41
52
0,00
0
0,00
17
39.158,92
2016
330,21
1.714.650,23
0,00
0,00
2 (primeiro atributo do segundo objeto jogo)
18/03/1996
...

This data is already in the order in which it will be assigned, therefore, from the 1st given (ArrayList index 0) to the 18th given (ArrayList index 17) is a single game. From 19th to 36th another game ...

My question is simple: What is the best way to assign this data contained in the ArrayList to attributes of Game Class objects?

Edit:

I was able to do the following:

private static void setJogos(List<String> listaSorteios) {

    int linha = 0;
    jogo = new Jogo();
    listaJogos.add(jogo);

    for (int u = 0; u < listaSorteios.size(); u++) {

        if (linha > 17) {
            linha = 0;
            jogo = new Jogo();
            listaJogos.add(jogo);
        }

        switch (linha) {
            case 0:
                jogo.setConcurso(Integer.parseInt(listaSorteios.get(u)));
                break;
            case 1:
                jogo.setDataSorteio(listaSorteios.get(u));
                break;
            case 2:
                jogo.setPrimeiraDezena(Integer.parseInt(listaSorteios.get(u)));
                break;
            case 3:
                jogo.setSegundaDezena(Integer.parseInt(listaSorteios.get(u)));
                break;
            case 4:
                jogo.setTerceiraDezena(Integer.parseInt(listaSorteios.get(u)));
                break;
            case 5:
                jogo.setQuartaDezena(Integer.parseInt(listaSorteios.get(u)));
                break;
            case 6:
                jogo.setQuintaDezena(Integer.parseInt(listaSorteios.get(u)));
                break;
            case 7:
                jogo.setSextaDezena(Integer.parseInt(listaSorteios.get(u)));
                break;
            case 8:
                break;
            case 9:
                jogo.setNumGanhadoresSena(Integer.parseInt(listaSorteios.get(u)));
                break;
            case 10:
                jogo.setRateioSena((listaSorteios.get(u)));
                break;
            case 11:
                jogo.setNumGanhadoresQuina(Integer.parseInt(listaSorteios.get(u)));
                break;
            case 12:
                jogo.setRateioQuina((listaSorteios.get(u)));
                break;
            case 13:
                jogo.setNumGanhadoresQuadra(Integer.parseInt(listaSorteios.get(u)));
                break;
            case 14:
                jogo.setRateioQuadra((listaSorteios.get(u)));
                break;
            case 15:
                jogo.setEstimativaPremio((listaSorteios.get(u)));
                break;
            case 16:
                break;
            case 17:
                break;                
        }
        linha++;
    }
}

Does anyone suggest a better way?

    
asked by anonymous 07.09.2016 / 23:32

1 answer

1

private static void setJogos(List listaSorteios) {

    Jogo jogo;

    int contador = 0;
    for (int u = 0; u < (listaSorteios.size()/18); u++) {

        contador = contador+18;

        jogo = new jogo();

        jogo.setConcurso(Integer.parseInt(listaSorteios.get(contador-18)));
        jogo.setDataSorteio(listaSorteios.get(contador-16));
        jogo.setPrimeiraDezena(Integer.parseInt(listaSorteios.get(contador-15)));
        .......

        jogo.setPrimeiraDezena(Integer.parseInt(listaSorteios.get(contador-1)));

        listadJogos.add(jogo);
        jogo = null;

}
    
08.09.2016 / 07:38