Java tutorial program to print a rectangle using special character like star, dollar etc :
In this tutorial, we will learn how to print a rectangle in Java using any special character . For example take the below rectangle :
$$$$$$
$ $
$ $
$ $
$ $
$ $
$$$$$$
The height of this rectangle is 7 and width is 6. Also, we are using ’’, we can use any character to print.
Algorithm we are going to use in this example is as below :
Algorithm :
- Take the height and width of the rectangle from the user.
- Also, take the character that the user wants to print the rectangle.
- Run one ‘for’ loop. This will run same time as the height of the rectangle.
- Each run of this ‘for’ loop, run one inner loop. This inner loop will run same as its width.
- For the first run of the outer loop, print character as the width of the inner loop. Because , this will be the first row of the rectangle.
- For the second to (height -1) run of the outer loop, print only the first and the last element for that row.
- For the last run of the outer loop, print characters same as first run. Because the last row will also contain full row of characters.
Let’s take a look into the example program below for better understanding :
Java Program :
import java.util.Scanner;
public class Main {
/**
* Utility function to print
*/
private static void println(String str) {
System.out.println(str);
}
private static void print(String str) {
System.out.print(str);
}
private static void printRectangle(int height, int width, String c) {
for (int i = 0; i < height; i++) {
if (i == 0 || i == height - 1) {
//for first line and last line , print the full line
for (int j = 0; j < width; j++) {
print(c);
}
println(""); //enter a new line
} else {
//else
for (int j = 0; j < width; j++) {
if (j == 0 || j == width - 1) {
//print only the first and last element as the character
print(c);
} else {
//else print only blank space for the inner elements
print(" ");
}
}
println(""); //enter a new line
}
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
print("Enter the height of the rectangle : ");
int height = scanner.nextInt();
print("Enter the width of the rectangle : ");
int width = scanner.nextInt();
print("Enter the character you want to print the rectangle : ");
String c = scanner.next();
printRectangle(height, width, c);
}
}
Sample Output :
Enter the height of the rectangle : 7
Enter the width of the rectangle : 6
Enter the character you want to print the rectangle : $
$$$$$$
$ $
$ $
$ $
$ $
$ $
$$$$$$
Similar tutorials :
- Java program to find the counts of each character in a String
- Java program to print a square using any character
- Java Program to find the last non repeating character of a string
- Java program to count the occurrence of each character in a string
- Java program to swap first and last character of a string
- 4 different ways to Sort String characters Alphabetically in Java