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

Bubble Sort | Java & Python | MyCodingNetwork | Alok Tripathi

  Bubble Sort is a simple sorting algorithm that works by repeatedly comparing and swapping adjacent elements in an array until they are in the correct order. It is called bubble sort because the smaller elements "bubble" to the top of the array, while the larger elements sink to the bottom. Quick Video Explanation: How Bubble Sort Works Bubble sort works by iterating through the array from left to right and comparing each pair of adjacent elements. If the element on the left is larger than the element on the right, they are swapped. This way, the largest element in the array moves to the rightmost position in each iteration. This process is repeated until no more swaps are needed, which means the array is sorted. To illustrate how bubble sort works, let's use the example of sorting the array [30,90,50,10,40] in ascending order. First Iteration/Pass: The first step is to compare the first two elements, 30 and 90. Since 30 is smaller than 90, they are already i

Insertion and Deletion of a Node in Linked List | Java | MyCodingNetwork

  Insertion of a new node & Deletion of an existing node After an exhilarating commencement of the Linked List series, in this post, we'll be exploring the artistry behind insertion and deletion operations in linked list. So let's now move on to the second problem statement of the series, i.e., write two functions for insertion and deletion of a node respectively, from linked list . Algorithm for inserting a node at pos position: Create a function insert () which takes head of the node, pos and the new node as the parameter. Take a base case, if pos==1, means the new node is to be made the head of the linked list. If the above case is not true, traverse the linked list and reach to position, pos-1 . Assign the new node with the address of the node at pos. Finally, assign the node at pos-1 with address of new node. Algorithm for deleting a node at pos position: Create a function deletion () which takes pos and the head of the LinkedList as parameter. Base case, if pos

Time Complexity in One Shot | MyCodingNetwork

  After exploring various aspect of programming, it's important to understand and calculate the amount of time our code takes to execute for a given size of input. The concept needed for this is called Time Complexity. In this article we will be exploring various aspects of Time Complexity and also solve numerous questions on it, so that we can have strong foundation of one of the most important aspect in the world of DSA. Introduction For a beginner the first question that should come to his/her mind is, "what is time complexity?". The answer is pretty simple, it is a measure of the amount of time an algorithm takes to complete as a function of the size of the input . It is important to analyze the time complexity of an algorithm because it helps us to compare different solutions and choose the most efficient one for a given problem.  In simple words (just to understand), one way to measure the time complexity of an algorithm is to count the number of iterations it perfo