Como alinhar corretamente uma String que imprime varios valores?
4 respostas
O
overcrasher
Bom dia pessoal, to com um pequeno problema aqui um pouco dificil de encontrar uma solucao... bem
escrevi esse trecho de codigo:
Stringnomes[]=newString[2];intcpfs[]=newint[2];Stringlista="";for(bytepos=0;pos<cpfs.length;pos++){nomes[pos]=JOptionPane.showInputDialog("Informe o nome...");cpfs[pos]=Integer.parseInt(JOptionPane.showInputDialog("Informe o CPF..."));lista+=("Nomes: "+nomes[pos]+"CPFs: "+cpfs[pos]);}JOptionPane.showMessageDialog(null,lista);
Oque to precisando eh encontrar uma forma de imprimir na tela a lista dos nomes e dos CPFs de forma alinhada, independente do tamanho do nome, por exemplo, uma coluna com espaco para 20 caracterts... Paulo tem 5, quero que preencha os outros 15 com espacos em branco para manter alinhada a proxima coluna dos CPFS... existe uma forma de fazer isso? grato.
Muito interessante entanglement, gostei do formato de saida usando seu codigo, pena que nao tenho nenhum conhecimento com HTML… =/ existe uma forma similar de fazer isso usando recursos do proprio Javax ?
Obrigado!
L
lsjunior
Desde o java 1.5 a classe String tem o método format, pode usar ele.
publicvoidtestFormat(){List<String[]>dados=newArrayList<String[]>();dados.add(newString[]{"Pessoa 1","[telefone removido]"});dados.add(newString[]{"Pessoa da Silva Sauro","[telefone removido]"});dados.add(newString[]{"Pessoa sem nome","[telefone removido]"});dados.add(newString[]{"Teste","[telefone removido]"});StringBuilderbuilder=newStringBuilder();for(String[]dado:dados){builder.append(String.format("Nome: %-50s CPF: %11s\n",dado[0],dado[1]));}System.out.println(builder.toString());}
E
entanglement
Hum, até aquelas pessoas de profissão indefinida* que dizem que são “web designers” sabem um pouquinho de HTML… - não custa nada aprender.
Cada época as pessoas que não têm profissão indefinida dão uma quando são inquiridas, por exemplo, por jornalistas ou pela polícia. Agora ficou na moda dizer que é “web designer” quando mal e mal sabe mexer no Facebook - no meu tempo era “estudante”.