Fibonacci series is a series of numbers in which each number(Fibonnaci number) is the sum of the two preceding numbers, starting from 0 and 1. For example:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55
There are two ways to generate Fibonacci series in Java:
- Without using recursion
- Using recursion
Fibonacci series without recursion
public class FibonacciSeriesWithoutRecursion {
public static void printFibonacciSeries(int count){
int firstNumber = 0;
int secondNumber = 1;
int i;
//print first two numbers
System.out.print(firstNumber + ", " + secondNumber);
// loop starts from 2 because first two numbers(0 and 1) are already printed
for (i = 2; i < count; ++i)
{
int nextNumber = firstNumber + secondNumber;
System.out.print(", " + nextNumber);
firstNumber = secondNumber;
secondNumber = nextNumber;
}
}
public static void main(String args[]) {
int count = 10;
printFibonacciSeries(count);
}
}
Output
0, 1, 1, 2, 3, 5, 8, 13, 21, 34
Fibonacci series using recursion
public class FibonacciSeriesUsingRecursion {
static int firstNumber = 0;
static int secondNumber = 1;
static int nextNumber;
public static void printFibonnaciSeries(int count){
if(count > 0){
nextNumber = firstNumber + secondNumber;
firstNumber = secondNumber;
secondNumber = nextNumber;
System.out.print(", " + nextNumber);
printFibonnaciSeries(count-1);
}
}
public static void main(String args[]) {
int count = 10;
System.out.print(firstNumber + ", " + secondNumber);
printFibonnaciSeries(count - 2);
}
}
Output
0, 1, 1, 2, 3, 5, 8, 13, 21, 34
Fibonacci series up to a number
public class FibonacciSeriesUptoANumber {
static int firstNumber = 0;
static int secondNumber = 1;
static int nextNumber = 0;
public static void printFibonnaciSeries(int limit){
while(firstNumber <= limit)
{
System.out.print(firstNumber + " ");
nextNumber = firstNumber + secondNumber;
firstNumber = secondNumber;
secondNumber = nextNumber;
}
}
public static void main(String[] args) {
int limit = 10;
printFibonnaciSeries(limit);
}
}
Output
0 1 1 2 3 5 8
