Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**************************************************************************************************
- * Program Name: Console Library
- * Author: Terry Weiss
- * Date Written: January 23, 2016
- * Program Description:
- * This library allows for text padding from the left or right, and text centering. Currently
- * all console output is designed for an 80x24 output window. Currently whitespace escape
- * characters are not supported and will interfere with right padding and centering.
- **************************************************************************************************/
- public class Console
- {
- //class constants
- public static final int WIDTH = 80; //Number of columns in console output
- public static final int ROWS = 24; //Number of rows in console output
- //class variables
- /***********************************************************************************************
- * Method Name : Console - padLeft
- * Author : Terry Weiss
- * Date : January 24, 2016
- * Course/Section : CSC264-001
- * Program Description:
- * This method will generate a new string that is left-aligned and has been padded from the left
- * edge of the screen.
- *
- * BEGIN Pad Left
- * IF (pad is too big) THEN
- * Align on right side of screen
- * END IF
- * Generate format string
- * Return formatted string
- * END Pad Left
- ***********************************************************************************************/
- public static String padLeft(int pad, String str)
- {
- //local constants
- //local variables
- String format; //Format string to be used by String.format()
- /******************** Start padLeft method ********************/
- /*
- * IF (pad is too big) THEN
- * Align on right side of screen
- * END IF
- */
- if (pad + str.length() > WIDTH)
- {
- pad = WIDTH - str.length();
- }//end if
- //Generate format string
- format = "%" + pad + "s%s";
- //Return formatted string
- return String.format(format, "", str);
- }//end method padLeft
- /***********************************************************************************************
- * Method Name : Console - padRight
- * Author : Terry Weiss
- * Date : January 24, 2016
- * Course/Section : CSC264-001
- * Program Description:
- * This method will generate a new string that is right-aligned and has been padded from the
- * right edge of the screen.
- *
- * BEGIN Pad Right
- * IF (pad is too big) THEN
- * Align on left side of the screen
- * END IF
- * Generate format string
- * Return formatted string
- * END Pad Right
- ***********************************************************************************************/
- public static String padRight(int pad, String str)
- {
- //local constants
- //local variables
- String format; //Format string to be used by String.format()
- /******************** Start padRight method ********************/
- /*
- * IF (pad is too big) THEN
- * Align on left side of screen
- * END IF
- */
- if (pad + str.length() > WIDTH)
- {
- pad = 0;
- }//end if
- //Generate format string
- format = "%" + (WIDTH - pad) + "s";
- //Return formatted string
- return String.format(format, str);
- }//end method padRight
- /***********************************************************************************************
- * Method Name : Console - center
- * Author : Terry Weiss
- * Date : January 24, 2016
- * Course/Section : CSC264-001
- * Program Description:
- * This method will generate a new string that is center-aligned.
- *
- * BEGIN Center
- * Calc pad length as (width - string length) / 2
- * Generate format string
- * Return formatted string
- * END Center
- ***********************************************************************************************/
- public static String center(String str)
- {
- //local constants
- //local variables
- int pad; //Number of padding spaces before the string
- String format; //Format string to be used by String.format()
- /******************** Start center method ********************/
- //Calc pad length
- pad = (WIDTH - str.length()) / 2;
- //Generate format string
- format = "%" + pad + "s%s";
- //Return formatted string
- return String.format(format, "", str);
- }//end method center
- /***********************************************************************************************
- * Method Name : Console - clearScreen
- * Author : Terry Weiss
- * Date : January 24, 2016
- * Course/Section : CSC264-001
- * Program Description:
- * This method will push all text off the screen. The cursor will start at the bottom, and the
- * output will need to be pushed up with fillScreen.
- *
- * BEGIN Clear Screen
- * FOR (number of rows) DO
- * Display a blank line
- * END FOR
- * END Clear Screen
- ***********************************************************************************************/
- public static void clearScreen()
- {
- //local constants
- //local variables
- /******************** Start clearScreen method ********************/
- /*
- * FOR (number of rows) DO
- * Display a blank line
- * END FOR
- */
- for (int i = 0; i < ROWS; i++)
- {
- System.out.println();
- }//end for
- }//end method clearScreen
- /***********************************************************************************************
- * Method Name : Console - fillScreen
- * Author : Terry Weiss
- * Date : January 24, 2016
- * Course/Section : CSC264-001
- * Program Description:
- * This method will push the text on screen up to the top of the screen. Enter the number of
- * rows currently on screen as input.
- *
- * BEGIN Fill Screen
- * Calc rows
- * FOR (number of rows to fill) DO
- * Display a blank line
- * END FOR
- * END Fill Screen
- ***********************************************************************************************/
- public static void fillScreen(int rows)
- {
- //local constants
- //local variables
- /******************** Start fillScreen method ********************/
- //Calc rows
- rows = ROWS - rows;
- /*
- * FOR (number of rows to fill) DO
- * Display a blank line
- * END FOR
- */
- for (int i = 0; i < rows; i++)
- {
- System.out.println();
- }//end for
- }//end method fillScreen
- /***********************************************************************************************
- * Method Name : Console - main
- * Author : Terry Weiss
- * Date : January 24, 2016
- * Course/Section : CSC264-001
- * Program Description:
- * The main method is used for debugging and testing purposes.
- *
- * BEGIN Main
- * Clear screen
- * Draw debug ruler
- * Test pad left
- * Test pad right
- * Test center
- * Fill screen
- * END Main
- ***********************************************************************************************/
- public static void main(String[] args)
- {
- //local constants
- //local variables
- /******************** Start main method ********************/
- //Clear screen
- Console.clearScreen();
- //Draw debug ruler
- System.out.println("123456789 123456789 123456789 123456789 123456789 123456789 123456789 "
- + "123456789*");
- //Test pad left
- System.out.println(Console.padLeft(20, "pizza"));
- //Test pad right
- System.out.println(Console.padRight(20, "cake"));
- //Test center
- System.out.println(Console.center("tacos"));
- //Fill screen
- Console.fillScreen(4);
- }//end method main
- }//end class Console
Advertisement
Add Comment
Please, Sign In to add comment