# Java Program to Print the Series 2 3 12 37 86 167 288 …N

In the previous article we have discussed about Java Program to Print the Series 10 14 28 32 64 … N

In this article we are going to see how to print the series 2 3 12 37 86 167 288 …N by using Java programming language.

## Java Program to Print the Series 2 3 12 37 86 167 288 …N

On observing the pattern carefully, we can see 1st number starts from 2, then the next number follows a logic

2
2 + 1^2 = 3
3 + 3^2 = 12
12 + 5^2 = 37
37 + 7^2 = 86 … and so on

Example:

 2 3 12 37 86 167 …… N

Let’s see different ways to print the series 2 3 12 37 86 167 288 …N

### Method-1: Java Program to Print the Series 2 3 12 37 86 167 288 …N By Using For Loop

Approach:

• Create Scanner class object.
• Declare an integer variable say ‘n’ which holds the Nth term of the series.
• Prompt the user to enter a number as value of n.
• Let declare an integer variable say ‘result’ and initialize it to 2
• Let declare another integer variable say ‘add’ and initialize it to 1
• Use a for loop from i=1 to i<=n-1 where the loop is incremented by 1
• Inside the for loop we will find the value of result=result+(add*add) and add=add+2.
• Print the result in the series.

Program:

import java.util.*;
public class Main
{
public static void main(String [] args)
{
//creating object of Scanner class
Scanner s = new Scanner(System.in);
//Taking input of number of elements in the series
System.out.println("Enter the Nth term “N” ");
int n = s.nextInt();
int result = 2;
System.out.print(result);
//for loop to print the series
for (int i = 1; i <= n-1; i++)
{
System.out.print(" "+result);
}
}
}
Output:

Enter the Nth term “N”
5
2 3 12 37 86

### Method-2: Java Program to Print the Series 2 3 12 37 86 167 288 …N By Using While Loop

Approach:

• Create Scanner class object.
• Declare an integer variable say ‘n’ which holds the Nth term of the series.
• Prompt the user to enter a number as value of n.
• Let declare an integer variable say ‘result’ and initialize it to 2
• Let declare another integer variable say ‘add’ and initialize it to 1
• Declare and initialize an integer variable i=1
• Continue a while loop till i<=n-1, where i is incremented by 1.
• Inside while loop find the value of result = result+(add*add) and add=add+2
• Print the result in the series.

Program:

import java.util.*;
public class Main
{
public static void main(String [] args)
{
//creating object of Scanner class
Scanner s = new Scanner(System.in);
//Taking input of number of elements in the series
System.out.println("Enter the Nth term “N” ");
int n = s.nextInt();
int result=2;
System.out.print(result);
int i=1;
while(i<=n-1)
{
System.out.print("  "+result);
i++;
}
}
}

Output:

Enter the Nth term “N”
7
2 3 12 37 86 167 288

### Method-3: Java Program to Print the Series 2 3 12 37 86 167 288 …N By Using User Defined Method

Approach:

• Create Scanner class object.
• Declare an integer variable say ‘n’ which holds the Nth term of the series.
• Prompt the user to enter a number as value of n.
• Call a user defined method printSeries() by passing n as parameter.
• Inside method declare an integer variable say ‘result’ and initialize it to 2
• Let declare another integer variable say ‘add’ and initialize it to 1
• Use a for loop from i=1 to i<=n-1 where the loop is incremented by 1
• Inside the for loop we will find the value of result=result+(add*add) and add=add+2.
• Print the result in the series.

Program:

import java.util.*;
public class Main
{
public static void main(String[] args)
{
// creating object of scanner class
Scanner s = new Scanner(System.in);
//Taking input of number of elements in the series
System.out.println("Enter the value of Nth term 'N' ");
int n = s.nextInt();
// calling printSeries method to print the series
printSeries(n);
}

//printSeries metthod to print the series
public static void printSeries(int n)
{
int result = 2, add = 1;
System.out.print(result);
//for loop to print the series
for (int i = 1; i <=n-1; i++)
{
System.out.print(" "+result);

Output:
2 3 12 37 86 167 288 457 682