Skip to main content

Pattern 4 | Java | MyCodingNetwork | Alok Tripathi (Code 6)


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");

 after that on Line 6 there is an int variable n to accept an integer value (you can compare this to the previous pattern code where 8 was already assigned)

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.

 


Popular posts from this blog

Print a Linked List in Reverse Order | Linked List | Java | MyCodingNetwork

  Print a Linked List in Reverse Order After mastering the four standard operations on a Linked List - Creation, Traversal, Insertion, and Deletion - we will now proceed to the next topic: ' Printing a Linked List in Reverse Order '. It serves as a continuation of our previous discussions. We will build upon the topics and ideas that we have previously explored to further our understanding about Linked List. We 'll be using recursive approach for the implementation. For this a separate recursive function would be needed. Concept of stack is also implemented for print statement. Let's discuss the algorithm for the same: Algorithm: Create a function printReverse() , which takes 'head ' of the Linked List as the parameter. Take a temporary node ' cur ' and assign it with the head of the list. Create a base case which checks if cur==null . If base case is TRUE, then function would return . If base case is FALSE, then the statements following that base case ...

Pattern 2 | Java

  Problem Statement: Write a program to draw the following pattern: * * * * * * * * * * * * * * * (take a variable n which decides the number of rows, for above example, n=5) THE CODE Output: *  * *  * * *  * * * *  * * * * *  * * * * * *          * * * * * * *        * * * * * * * *      * * * * * * * * *    * * * * * * * * * * Simplification : In the above problem, the value of n is 10 (i.e., the number of rows are 10) 1. In the first for loop we have i as the counter variable with initial value of 1 and having a condition i.e. i should be less than or equal to n.  It has a print statement after the second for loop,  System.out.println(); w hich is used for changing the row, each time for the second for loop terminates. 2. In the second for loop we have j as the counter variable with initial value of 1 having a condition i.e. j  should be  less than or equal to i (t...

Code #1 | Hello Java | Basics of Java

Today starting with a very basic coding program in Java. So, the program is Write a program in Java to print "Hello Java!" Output: Hello Java!