Program to Print Digit 1 Star Pattern
In this article we are going to see how to print the number ‘1’ star pattern.
Example-1 When row value=8 ***** * * * * * * *********
Example-2: When row value=5 *** * * * ******
Now, let’s see the actual program to print it.
Guys who are serious about learning the concepts of the java programming language should practice this list of programs in java and get a good grip on it for better results in exams or interviews.
Approach:
- Enter total row and store it in an integer variable
rows. - Take
columns = rows +1. - Take outer for loop to iterate the rows.
- Take inner for loop to print space and star.
- After each iteration print a newline.
JAVA Code:
Method-1 : Static Star Character
import java.util.Scanner;
class Main
{
public static void main(String[] args)
{
System.out.print("Rows : ");
Scanner scan = new Scanner(System.in);
int rows = scan.nextInt();
//Taking rows as input from user
int columns = rows+1, midColumn = (rows/2+1);
//Taking columns from rows
int r,c;
//Iterators
for (r = 1; r <= rows; r++)
{//Outer loop to iterate rows
for (c = 1; c <= columns; c++)
{//Inner loop to iterate columns
if(r == 1 && c < midColumn ) {
System.out.print("*");
} else if(c == midColumn ) {
System.out.print("*");
} else if(r == rows ) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
Output Rows : 5 *** * * * ******
Method-2 : User Input Character
import java.util.Scanner;
class Main
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
//Taking rows as input from user
System.out.print("Rows : ");
int rows = scan.nextInt();
//Taking any character as input from user
System.out.print("Character : ");
char one = scan.next().charAt(0);
int columns = rows+1, midColumn = (rows/2+1);
//Taking columns from rows
int r,c;
//Iterators
for (r = 1; r <= rows; r++)
{//Outer loop to iterate rows
for (c = 1; c <= columns; c++)
{//Inner loop to iterate columns
if(r == 1 && c < midColumn ) {
System.out.print(one);
} else if(c == midColumn ) {
System.out.print(one);
} else if(r == rows ) {
System.out.print(one);
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
Output Rows : 5 Character : 1 111 1 1 1 111111
Explanation :
Let’s understand the program by going through the detailed explanation.
We have taken rows value as 5.
Iteration-1
r=1, goes into the inner loop prints two stars as r == 1 && c < midColumn and one star for c == midColumn. Rest space is printed for remaining iterations.
***
Iteration-2
r=2, goes into the inner loop prints two empty spaces(‘ ‘) as it does not meet any the conditions for first two iterations. Then prints a star for c == midColumn. Rest space is printed for remaining iterations.
*
Iteration-3
r=3, goes into the inner loop prints two empty spaces(‘ ‘) as it does not meet any the conditions for first two iterations. Then prints a star for c == midColumn. Rest space is printed for remaining iterations.
*
Iteration-4
r=4, goes into the inner loop prints two empty spaces(‘ ‘) as it does not meet any the conditions for first two iterations. Then prints a star for c == midColumn. Rest space is printed for remaining iterations.
*
Iteration-5
r=5, goes into the first inner loop prints six stars for r == rows.
******
After this r>rows- i.e. 6 so program will come out of the loop.
Now, after end of all iteration we will see the complete pattern is printed on the output screen like this.
*** * * * ******
C Code:
#include <stdio.h>
int main(int argc, char const *argv[])
{
int rows;
printf("Rows : ");
scanf("%d", &rows);
//Taking rows as input from user
int columns = rows + 1,
midColumn = (rows / 2 + 1);
//Taking columns from rows
int r, c;
//Iterators
for (r = 1; r <= rows; r++)
{ //Outer loop to iterate rows
for (c = 1; c <= columns; c++)
{ //Inner loop to iterate columns
if (r == 1 && c < midColumn)
{
printf("*");
}
else if (c == midColumn)
{
printf("*");
}
else if (r == rows)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
return 0;
}
Output Rows : 5 *** * * * ******
C++ Code:
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
int rows;
cout << "Rows : ";
cin >> rows;
//Taking rows as input from user
int columns = rows + 1,
midColumn = (rows / 2 + 1);
//Taking columns from rows
int r, c;
//Iterators
for (r = 1; r <= rows; r++)
{ //Outer loop to iterate rows
for (c = 1; c <= columns; c++)
{ //Inner loop to iterate columns
if (r == 1 && c < midColumn)
{
cout << "*";
}
else if (c == midColumn)
{
cout << "*";
}
else if (r == rows)
{
cout << "*";
}
else
{
cout << " ";
}
}
cout << endl;
}
return 0;
}
Output Rows : 5 *** * * * ******
Related Java Star Pattern Programs: