Program to Print K Shape Star Pattern
Star pattern in java: In this article we are going to see how to print the k-shape star program.
Example-1 When row value=4 **** *** ** * ** *** ****
Example-2: When row value=5 ***** **** *** ** * ** *** **** *****
Now, let’s see program to print it.
Practice Java programming from home without using any fancy software just by tapping on this Simple Java Programs for Beginners tutorial.
Approach:
- Enter total row and store it in an integer variable
row
. - Take first outer for loop to print all rows.
- First inner for loop to print column values i.e., first inner for loop will print all the stars in the column(in decreasing order).
- Take second outer for loop to print all rows.
- First inner for loop to print column values i.e., first inner for loop will print all the stars in the column(in increasing order).
JAVA Code:
Method-1 : Static Star Character
import java.util.*; public class Main { public static void main(String args[]) { // taking variable for loop iteration and row . int row,r,c,d; //creating object Scanner s = new Scanner(System.in); // entering the number of row System.out.print("Enter rows : "); row = s.nextInt(); //printing row value for (r = row ; r >= 1; r--) { for (c = r; c >= 1; c--) System.out.print("*"); System.out.println(); } for (r = 2; r <= row; r++) { for (c= r; c >= 1; c--) System.out.print("*"); System.out.println(); } } }
Output: Enter Rows :5 ***** **** *** ** * ** *** **** *****
Method-2 : User Input Character
import java.util.*; public class Main { public static void main(String args[]) { // taking variable for loop iteration and row . int row,r,c,d; char f; //creating object Scanner s = new Scanner(System.in); // entering the number of row System.out.print("Enter rows : "); row = s.nextInt(); // entering random character System.out.print("Enter character : "); f = s.next().charAt(0); //printing row value for (r = row ; r >= 1; r--) { for (c = r; c >= 1; c--) System.out.print(f); System.out.println(); } for (r = 2; r <= row; r++) { for (c= r; c >= 1; c--) System.out.print(f); System.out.println(); } } }
Output: Enter Rows : 5 Enter character : @ @@@@@ @@@@ @@@ @@ @ @@ @@@ @@@@ @@@@@
Explanation :
First outer for loop :
Iteration-1
r=5 (row) (passes the first for loop condition) as it will iterate up to r>=1 times.
then first inner for loop will print the “* ” r to 1 , that means 5 time .
So, star will be printed five time.
*****
Iteration-2
r=4 (row) (passes the first for loop condition) as it will iterate up to r>=1 times.
then first inner for loop will print the “* ” r to 1 , that means 4 time .
So, star will be printed five time.
****
Iteration-3
r=3 (row) (passes the first for loop condition) as it will iterate up to r>=1 times.
then first inner for loop will print the “* ” r to 1 , that means 3 time .
So, star will be printed five time.
***
Iteration-4
r=2 (row) (passes the first for loop condition) as it will iterate up to r>=1 times.
then first inner for loop will print the “* ” r to 1 , that means 2 time .
So, star will be printed five time.
**
Iteration-5
r=1 (row) (passes the first for loop condition) as it will iterate up to r>=1 times.
then first inner for loop will print the “* ” r to 1 , that means 1 time .
So, star will be printed five time.
*
Now when r=0, first for loop condition will fail so no other loops will be executed.
Second outer for loop :
Iteration-1
r=2 (row) (passes the first for loop condition) as it will iterate up to r<=row times.
then first inner for loop will print the “* ” r to 1 , that means 2 time .
So, star will be printed five time.
**
Iteration-2
r=3 (row) (passes the first for loop condition) as it will iterate up to r<=row times.
then first inner for loop will print the “* ” r to 1 , that means 3 time .
So, star will be printed five time.
***
Iteration-3
r=4 (row) (passes the first for loop condition) as it will iterate up to r<=row times.
then first inner for loop will print the “* ” r to 1 , that means 4 time .
So, star will be printed five time.
****
Iteration-4
r=5 (row) (passes the first for loop condition) as it will iterate up to r<=row times.
then first inner for loop will print the “* ” r to 1 , that means 4 time .
So, star will be printed five time.
*****
Now when r=6,second outer for loop condition will fail so no other loops will be executed.
At last , we will see a pattern like this ,
***** **** *** ** * ** *** **** *****
C Code:
#include <stdio.h> int main() { int r, row, c ,d; printf("Enter rows: "); scanf("%d", &row); for (r = row ; r >= 1; r--) { for (c = r; c >= 1; c--) printf("*"); printf("\n"); } for (r = 2; r <= row; r++) { for (c= r; c >= 1; c--) printf("*"); printf("\n"); } return 0; }
Output: Enter Rows :5 ***** **** *** ** * ** *** **** *****
C++ Code:
#include <iostream> using namespace std; int main() { int row, r , c ,d ; cout << "Enter rows: "; cin >> row; for (r = row ; r >= 1; r--) { for (c = r; c >= 1; c--) cout << "*"; cout << "\n"; } for (r = 2; r <= row; r++) { for (c= r; c >= 1; c--) cout << "*"; cout << "\n"; } return 0; }
Output: Enter Rows :5 ***** **** *** ** * ** *** **** *****
Related Java Star Pattern Programs: