Java: Alinear texto a la extrema izquierda/principio y a la extrema derecha/final en una cadena y dejar espacio en el centro.
Estoy teniendo una cadena en Java que estoy imprimiendo y tiene título y cantidad, por ejemplo a continuación:
Rice Ksh 150
Cooking Oil Ksh 200
Skinless White Meat Ksh 450
Honey Ksh 270
Cottage Cheese Ksh 539
Lo que me gustaría lograr cuando lo imprimo es algo como esto a continuación:
Rice Ksh 150
Cooking Oil Ksh 200
Skinless White Meat Ksh 450
Honey Ksh 270
Cottage Cheese Ksh 539
A continuación, se muestra lo que he intentado, pero no funciona. ¿Hay otra función que pueda usar para justificar la salida donde el título de los elementos está a la extrema izquierda/inicio y el monto está a la extrema derecha/final?
for (Receipt receipt : receiptList) {
String output = "";
String itemAmount = String.format("%s %s %s", receipt.getItem(),
"Ksh", receipt.getAmount());
for (int i = 0; i < itemAmount.length(); i++){
char c = itemAmount.charAt(i);
if (c==' '){
output += " ";
}else {
output += "" + c;
}
}
// imprimir salida aquí
}
davy.ai
Para obtener la salida deseada donde el título de los elementos esté justificado a la izquierda y la cantidad a la derecha, puedes utilizar la función
String.format()
con espacios reservados para el ancho del título y la cantidad. Aquí tienes un ejemplo de implementación:En la función
String.format()
, el espacio reservado-20s
significa justificar a la izquierda la cadena con un ancho de 20 caracteres, mientras que el espacio reservado10s
significa justificar a la derecha la cadena con un ancho de 10 caracteres. Puedes ajustar estos anchos según sea necesario para que la salida se vea como deseas.