Stack Overflow en español Asked by HeckDan on December 13, 2020
Se me a presentado varias veces que quiero mostrar varios datos por la consola de una manera ordenada y los distintos tamaños de estos elementos hacen que se vean mal… ¿como hago para que en cada parte para el texto este determinada por un cierto espaciado?
Ejemplo: mostrando en pantalla
Nombre: / Código:
/ /
/Abc/ 123
/Eiu/ 12
/Aaaaaa / 3333333
La idra es que debe haber un espacio ya establecido y que esas rayitas que encajonan siempre tengan el mismo tamaño
Ejemplo:
Nombre: / Código:
/ /
/ Abc/ 123
/ Eiu/ 12
/Aaaaaa/ 3333333
Nota: Cuando llegue a mi pc pongo un ejemplo con código.
Te pongo como trabajo yo y ya utilizas lo que te funcione.
/**
* Formatea un texto en base al espacio que se le asigne de manera siguiente:
* <br>totalEspacio=10
* <br>texto='Hola'
* <br>caracter='|'
*
* <br><br>Resultado: <p> "Hola_____|"</p> (El caracter '_' representa un
* espacio en blanco.)
* <br>
* Si el texto supera a el espacio asignado entonces se acortara con '...'
* más el caracter de separación asignado
*
* @param totalEspacio El espacio total del que se quitara el string de separación
* y el tamaño del texto. El mínimo permitido es 5.
* @param texto
* @param caracterDeSeparación
* @return
*/
public static String formatearEspacios(int totalEspacio, String texto, String caracterDeSeparación){
try {
String espacio = "";
String cadenaNueva = "";
if (totalEspacio>texto.length()) {
int espaciosEnBlanco = totalEspacio-texto.length();
for (int i = 0; i < espaciosEnBlanco-1; i++) {
espacio+=" ";
}
espacio+=(caracterDeSeparación);
cadenaNueva += texto+espacio;
}else{
String subTexto = texto.substring(0, totalEspacio-4);
espacio+="..."+caracterDeSeparación;
cadenaNueva += subTexto+espacio;
}
return cadenaNueva;
} catch (ExcepcionPersonalizada ex) {
Logger.getLogger(Textos.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
Yo lo implemento dentro de una clase Textos
y lo llamo de esta manera:
String a = Textos.formatearEspacios(12, rvo.getCodigoProveedor(), "|");
String b = Textos.formatearEspacios(25, rvo.getNombre(), "|");
String c = Textos.formatearEspacios(25, rvo.getCodigoInterno(), " ");
System.out.println(a+b+c);
Answered by Legna on December 13, 2020
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP