Cómo imprimir el resultado de un método de tipo void en un archivo usando Java PrintWriter
Estoy haciendo un trabajo de ejercicios para mi curso de programación en Java, la pregunta es la siguiente:
Escriba un método llamado printTree que genere un triángulo de asteriscos en un archivo de salida basado en el valor de altura pasado al procedimiento. Pruebe este método en el método principal.
Por ejemplo, un triángulo de altura 3 debería escribirse en un archivo llamado file14:
Simplemente no estoy seguro de cómo escribir el retorno de vacío al archivo que he hecho en el método principal. Me gustaría minimizar la importación de cualquier otro método de java.io aparte de FileWriter, pero cualquier ayuda es apreciada, gracias.
davy.ai
Para escribir la salida del método
printTree
en un archivo, debes modificar la firma del método para que devuelva una cadena en lugar devoid
. Luego, dentro del método, puedes crear unStringBuilder
para construir la representación de cadena del triángulo y devolverlo al final.Aquí está una versión actualizada del código:
En el método
main
, ahora estamos creando unPrintWriter
que está envuelto en unFileWriter
en lugar de usar el métodowrite
en elPrintWriter
. Esto nos permite escribir directamente en el archivo. También estamos usando un bloquetry-with-resources
para cerrar automáticamente elPrintWriter
después de terminar.En el método
printTree
, estamos usando unStringBuilder
para construir la cadena de salida. Estamos iterando sobre las filas del triángulo y luego sobre las columnas de cada fila, agregando un asterisco para cada columna. También estamos usandoSystem.lineSeparator()
para agregar un carácter de nueva línea entre cada fila.Con estas modificaciones, la salida del método
printTree
se escribe directamente en el archivo en lugar de imprimirse en la consola.