Problem Statement:
Write a program to draw the following pattern where number of rows are decided by the user and given to the program as input:
*
* *
* * *
* * * *
* * * * *
* * * * * *
(Take a variable n which takes the number of rows as input from the user, For above example, n=6)
OUTPUT:
The above program is the extension of the previous program
(Pattern #3). This program asks the user to input the number of rows that it
wants in the program. For accepting the input, the program has Scanner
class which has been extracted from the package java.util. In
this program, we will learn how to receive data from the user.
If you remember in three previous patterns, the
program itself had the input of number of rows where n=8, but now the
user will tell the program how many rows are to be added.
Simplification
1. In Line 1, the java.util package has been imported, to use the Scanner class.
import java.util.Scanner;
2.
Further, in line 4 an object sc of
Scanner class has been created using the following Syntax:
Scanner
sc=new
Scanner(System.in);
3.
Line 5 has a print statement, asking the user to input the number of rows:
System.out.println("Enter
No. of Rows");
int
n=sc.nextInt();
5. The first for loop is
used to define the rows.
It is having a counter variable i with an initial
value of 0 followed by a conditional statement, i less than n. It
is having an updation statement i++. Inside the loop's body we
further have two for loops and a print statement System.out.println(
) for jumping on to the next line( to change the row) after each
column in the particular row has been printed.
6. The second for loop is
used to print white space.
It
is having a counter variable j with an initial value of 0 followed by a conditional
statement, j less than n-1-i. It is having an
updating statement j++. Inside the loop's body a print
statement System.out.print(" ") for printing white space
characters column-wise, i.e., columns where *(star) is not required.
7. The third for loop is
used to print stars(*).
This
loop will start after the second for loop terminates. It
is having a counter variable k with an initial value of 0 followed by a
conditional statement, k less than or equal to i. It is having an
updating statement k++. Inside the loop's a print statement System.out.print("*
") for printing *(star) column-wise.
When
the third loop terminates the execution will jump on the print statement of the
first for loop, that is, System.out.println( ) which
changes the row in the output. After this, execution will check the conditional
statement in the first for loop, if the
condition is true the process will continue and if the
condition is false the entire loop terminates.
Hope
you liked this explanation, for any doubt or feedback you can comment down in the comment
section.