Velasco 0 Denunciar post Postado Setembro 28, 2016 Pessoal, eu tenho estas duas classes: public class Jogador{ private String nome; private int id; private double totalPontos; private double totalComposto; private String resultadoString; private int classificacao; public ArrayList<Lancamento> lancamentos = new ArrayList<Lancamento>(); //getters and setters } public class Lancamento{ private int dado1; private int dado2; //getters and setters } Eu preciso fazer a impressão na tela tanto de um ArrayList de Jogadores tanto de um ArrayList dos lançamentos de jogadores, só que eles não ficam organizados de jeito nenhum, eu preciso de uma impressão desta forma: Classificação Nome Lançamento 1 Lançamento 2 Lançamento x... 1° a 1 2 3 4 ... 2° b 3 6 5 6 ... 3° c 4 5 7 8 ... O que acontece é que está impossível organizar o jogador e seus respectivos lançamentos na mesma linha, um jogador pode ter de 3 até 8 lançamentos, alguma ideia de como é possível fazer essa impressão em String de maneira que ela fique organizada dessa forma? Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
igorventurelli 0 Denunciar post Postado Setembro 29, 2016 Se eu entendi seu problema, acho mais fácil você criar uma classe que represente a classificação e esta conter as infos de cada jogador e aí então fazer uma lista dela e depois imprimir seus valores dentro de um for. Algo mais ou menos assim: class Classificacao { public static final ESPACO_ENTRE_COLUNAS = " "; private Integer posicao; private Jogador jogador; //getters e setters public void imprime() { StringBuilder msg = new StringBuilder(); msg.append(posicao.toString()); msg.append(ESPACO_ENTRE_COLUNAS); msg.append(jogador.getNome()); msg.append(ESPACO_ENTRE_COLUNAS); for(Lancamento l : jogador.getLancamentos()) { msg.append(l.getDado1.toString()); msg.append(l.getDado2.toString()); msg.append(ESPACO_ENTRE_COLUNAS); } System.out.println(msg.toString()); } } Aí na hora de imprimir, você teria uma lista de classificações e faria algo do tipo: StringBuilder sb = new StringBuilder(); sb.append("Classificacao"); sb.append(Classificacao.ESPACO_ENTRE_COLUNAS); sb.append("Nome"); sb.append(Classificacao.ESPACO_ENTRE_COLUNAS); sb.append("Lancamento 1"); sb.append(Classificacao.ESPACO_ENTRE_COLUNAS); //faz até o max de lançamentos.. é só o cabeçalho for(Classificacao c : classificacoes) { c.imprime(); } Entendeu? Espero ter ajudado! :) Abraço! Compartilhar este post Link para o post Compartilhar em outros sites