In this article, we will understand how to print Diamond Star pattern. The pattern is formed by using multiple for-loops and print statements.
Below is a demonstration of the same −
Input
Suppose our input is −
Enter the number of rows : 8
Output
The desired output would be −
The diamond star pattern : * *** ***** ******* ********* *********** ************* *************** ************* *********** ********* ******* ***** *** *
Algorithm
Step 1 - START Step 2 - Declare four integer values namely i, j, k and my_input. Step 3 - Read the required values from the user/ define the values Step 4 - Assign value of ‘my_input – 1’ to ‘k’ Step 5 - We iterate through two nested 'for' loops to get space between the characters. Step 6 - After iterating through the innermost loop, we iterate through another 'for' loop. This will help print the required character. Step 7 - Now, print a newline to get the specific number of characters in the subsequent lines. Step 8 - Display the result Step 9 - Stop
Example 1
Here, the input is being entered by the user based on a prompt. You can try this example live in our coding ground tool
.
import java.util.Scanner;
public class DiamondStar{
public static void main(String args[]){
int i, j, k, my_input;
System.out.println("Required packages have been imported");
Scanner my_scanner = new Scanner(System.in);
System.out.println("A reader object has been defined ");
System.out.print("Enter the number : ");
my_input = my_scanner.nextInt();
k = my_input - 1;
System.out.println("The diamond star pattern : ");
for (j = 1; j<= my_input; j++){
for (i = 1; i<= k; i++){
System.out.print(" ");
}
k--;
for (i = 1; i <= 2 * j - 1; i++){
System.out.print("*");
}
System.out.println("");
}
k = 1;
for (j = 1; j<= my_input - 1; j++){
for (i = 1; i<= k; i++){
System.out.print(" ");
}
k++;
for (i = 1; i<= 2 * (my_input - j) - 1; i++){
System.out.print("*");
}
System.out.println("");
}
}
}Output
Required packages have been imported
A reader object has been defined
Enter the number : 8
The diamond star pattern :
*
***
*****
*******
*********
***********
*************
***************
*************
***********
*********
*******
*****
***
*Example 2
Here, the integer has been previously defined, and its value is accessed and displayed on the console.
public class DiamondStar{
public static void main(String args[]){
int i, j, k, my_input;
my_input = 8;
k = my_input - 1;
System.out.println("The number of rows is defined as " +my_input);
System.out.println("The diamond star pattern : ");
for (j = 1; j<= my_input; j++){
for (i = 1; i<= k; i++){
System.out.print(" ");
}
k--;
for (i = 1; i <= 2 * j - 1; i++){
System.out.print("*");
}
System.out.println("");
}
k = 1;
for (j = 1; j<= my_input - 1; j++){
for (i = 1; i<= k; i++){
System.out.print(" ");
}
k++;
for (i = 1; i<= 2 * (my_input - j) - 1; i++){
System.out.print("*");
}
System.out.println("");
}
}
}Output
The number of rows is defined as 8
The diamond star pattern :
*
***
*****
*******
*********
***********
*************
***************
*************
***********
*********
*******
*****
***
*