using JAVA answer this question Fibonacci number iterator D
using JAVA answer this question:
(Fibonacci number iterator ) Define an iterator class named FibonacciIterator
for iterating Fibonacci numbers. The constructor takes an argument that
specifies the limit of the maximum Fibonacci number. For example, new
FibonacciIterator(23302) creates an iterator that iterates Fibonacci numbers
less than or equal to 23302 . Write a test program that uses this iterator to
display all Fibonacci numbers less than or equal to 100000 .
Solution
import java.util.Scanner
public class Fibonaccilterator {
public static void main(String args[]) {
//input to print Fibonacci series upto how many numbers
System.out.println(\"Enter number upto which Fibonacci series to print: \");
int number = new Scanner(System.in).nextInt();
System.out.println(\"Fibonacci series upto \" + number +\" numbers : \");
//printing Fibonacci series upto number
for(int i=1; i<=number; i++){
System.out.print(fibonacci2(i) +\" \");
}
}
/*
* Java program for Fibonacci number using recursion.
* This program uses tail recursion to calculate Fibonacci number for a given number
* @return Fibonacci number
*/
public static int fibonacci(int number){
if(number == 1 || number == 2){
return 1;
}
return fibonacci(number-1) + fibonacci(number -2); //tail recursion
}
/*
* Java program to calculate Fibonacci number using loop or Iteration.
* @return Fibonacci number
*/
public static int fibonacci2(int number){
if(number == 1 || number == 2){
return 1;
}
int fibo1=1, fibo2=1, fibonacci=1;
for(int i= 3; i<= number; i++){
//Fibonacci number is sum of previous two Fibonacci number
fibonacci = fibo1 + fibo2;
fibo1 = fibo2;
fibo2 = fibonacci;
}
return fibonacci; //Fibonacci number
}
}


