Java Program to Print a Hollow Square Pattern

Introduction

A hollow square pattern is a square made of stars (*) where only the boundary (i.e., the first row, last row, first column, and last column) is filled with stars, while the inner part of the square is empty (filled with spaces). This guide will walk you through writing a Java program to print a hollow square pattern of a given size.

Problem Statement

Create a Java program that:

  • Accepts the size (side length) of the square.
  • Prints a hollow square using stars (*), where the boundary elements are stars, and the inside is hollow (filled with spaces).

Example:

  • Input: 5

  • Output:

    *****
    *   *
    *   *
    *   *
    *****
    
  • Input: 7

  • Output:

    *******
    *     *
    *     *
    *     *
    *     *
    *     *
    *******
    

Solution Steps

  1. Take Input: Define the size of the hollow square.
  2. Print the Hollow Square Pattern: Use nested loops to print stars (*) for the boundary and spaces ( ) for the inside.
  3. Display the Result: Print the hollow square pattern on the console.

Java Program

// Java Program to Print a Hollow Square Pattern
// Author: https://www.rameshfadatare.com/

import java.util.Scanner;

public class HollowSquare {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // Step 1: Get the size of the square
        System.out.print("Enter the size of the square: ");
        int size = scanner.nextInt();

        // Step 2: Print the hollow square pattern
        for (int i = 1; i <= size; i++) {
            for (int j = 1; j <= size; j++) {
                // Step 3: Print '*' for the boundary, otherwise print ' '
                if (i == 1 || i == size || j == 1 || j == size) {
                    System.out.print("*");
                } else {
                    System.out.print(" ");
                }
            }
            // Move to the next line after printing each row
            System.out.println();
        }

        // Close the scanner
        scanner.close();
    }
}

Explanation

Step 1: Take Input

  • The program prompts the user to enter the size of the hollow square. This size determines the side length of the square.

Step 2-3: Print the Hollow Square Pattern

  • A nested loop structure is used where the outer loop (i) represents the rows, and the inner loop (j) represents the columns.
  • Stars (*) are printed for boundary positions: the first row (i == 1), the last row (i == size), the first column (j == 1), and the last column (j == size).
  • For all other positions, spaces (" ") are printed to create a hollow effect.

Output Example

For an input of 5, the program prints:

*****
*   *
*   *
*   *
*****

For an input of 7, the program prints:

*******
*     *
*     *
*     *
*     *
*     *
*******

Example with Different Input

For an input of 4, the program outputs:

****
*  *
*  *
****

Conclusion

This Java program demonstrates how to print a hollow square pattern using nested loops. By carefully controlling the placement of stars and spaces based on the row and column indices, the program creates the desired hollow square shape. This exercise is useful for practicing loop control and pattern generation in Java.

Comments