Skip to main content

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



Problem Statement:

Write a program to make a square and mark out its diagonals. Accept the length as input from the user and give output in the following manner:


And

(In simple words, we have printed stars (*) on the boundary positions of the matrix and on the centre positions of the matrix we have printed blank space( ) )

 

THE CODE:


Sample Output:




In the above program, two int variables r to accept the length of square as input.

On line 7, following statement is used to accept the input from the user:

int r=sc.nextInt();

 For taking the input Scanner class has been used, more about Scanner class

Algorithm:

Two for loops are defined:

·        First for loop with counter variable i has initial value 1, conditional statement i less than or equal to r and an updating statement i++.

·        Inside the first loop there is a second for loop, with counter variable j has initial value 1, conditional statement j less than or equal to r and an updating statement j++.

Inside the body of this for loop there is an if-else condition, whose basic aim is to print star (*) on the boundary positions and diagonals of the matrix and print a blank space everywhere else on the matrix.

You can see on the line 13 of the program, the if statement has six conditions (i.e., i==1 || j==1 || i==r || j==c || i==j || i+j==r+1) with logical or operators which means only one condition is sufficient to execute the body of the if statement. Inside its body there is a star (*) print statement. On careful observation, one can easily see that the if statement is true only if the value of i and j points at a boundary position and diagonal position of the matrix.

                                                                               i.            First four conditions are for checking the boundary positions

                                                                             ii.            Last two conditions are for checking the diagonal positions

If none of the six conditions given for if statement is satisfied, then else's body will execute a print statement to print blank space.

·        After the second loop terminates there is a print statement who's only work is to change the row in the output after the second for loop terminates.

·        Again, the first for loop’s condition is checked and if it is true then the algorithm continues.

©2022 Alok Tripathi. All rights reserved

#MyCodingNetwork aka MCN

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!