Función WriteTitle Curso de Programación Java

Lección:

Funciones


Ejercicio:

Función WriteTitle 26


Objetivo:

Crea una función llamada "WriteTitle" para escribir un texto centrado en pantalla, en mayúsculas, con espacios extra y con una línea sobre él y otra línea debajo:

WriteTitle("¡Bienvenido!");

escribiría en pantalla (centrada en 80 columnas):

--------------- W E L C O M E ! ---------------

(Obviamente, el número de guiones debe depender de la longitud del texto).


Código:

import java.util.*;
public class Main
{
	public static void WriteTitle(String text)
	{
		int numOfSpaces = (80 - text.length() * 2) / 2;
		text = text.toUpperCase();

		// Upper line
		for (int i = 0; i < numOfSpaces; i++)
		{
			System.out.print(" ");
		}
		for (int i = 0; i < text.length() * 2 - 1; i++)
		{
			System.out.print("-");
		}
		System.out.println();

		// Real title
		for (int i = 0; i < numOfSpaces; i++)
		{
			System.out.print(" ");
		}
		for (int i = 0; i < text.length(); i++)
		{
			System.out.print(text.charAt(i) + " ");
		}
		System.out.println();

		// Lower line
		for (int i = 0; i < numOfSpaces; i++)
		{
			System.out.print(" ");
		}
		for (int i = 0; i < text.length() * 2 - 1; i++)
		{
			System.out.print("-");
		}
		System.out.println();
	}

	public static void main(String[] args)
	{
		WriteTitle("Welcome!");

		System.out.println("Enter a text: ");
		String text = new Scanner(System.in).nextLine();
		WriteTitle(text);
	}
}