Através do Scanner, leio um arquivo .htm e passo os dados nele contido para um ArrayList de String. Preciso atribuir esses dados do ArrayList a objetos “jogo”. A classe Jogo já existe, com todos os atributos, getters e setters…
A lista está assim:
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
...
Esses dados já estão na ordem em que serão atribuídos, portanto, do 1º dado (índice 0 do ArrayList) ao 18º dado (índice 17 do ArrayList) é um só jogo. Do 19º ao 36º outro jogo…
O seguinte código funciona:
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++;
}
}
porém, não estou seguro que esta seja a melhor forma. Alguém sugere algo melhor?
Obrigado pela atenção!