Fibonacci sequence

From CompSciWiki
Revision as of 11:42, 8 April 2010 by TravisAM (Talk | contribs)

Jump to: navigation, search

Back to the Program-A-Day homepage

Problem

Write a complete Java program Fibonacci that:

  • prompts the user to enter an input n and cast it to integer
  • get the nth fibonacci numbers using FOR loop, based on the user's input
  • prints out the nth fibonacci number, using JOptionPane Methods.


Note that the fibonacci sequence is F(0) = 1, F(1) = 1, F(n) = F(n-1) + F(n-2) for n > 1.
Example: F(5) = 1, 1, 2, 3, 5, 8
Your output should look something like
"The 5th number of the fibonacci sequence is 5."

You may assume that the user always enters correct intenger format.

 

...by students

float
Taken from http://www.flickr.com/photos/daniello/565304023/

An image or By Students section

Solution

In order to get the user input by JOptionPane, you will first have to import the swing package.
You can import swing package by

import javax.swing.*; 


or

import javax.swing.JOptionPane;


Then, the next step is declaring variables; in this program we will need three int variables.
One variable will be used as F(n) and another variable will be used as F(n-1).
Our initial value for F(n) will be 1 and F(n-1) will be 0, referring to the fibonacci formula. (F(0) = 1, F(1) = 1)
Once you declare the necessary variables, the last variable will be the casted integer from the user input.

int n = 1
int n-1 = 0
String str = get the user input using JOptionPane
int input = cast str to integer


Once you have all the variables ready, make a for loop that starts from 0 and ends when the counter is less than n (user input).
In this for loop, the increment will be by 1.

for(count = 0; count < user input; count increment by 1)
{
}


We will need another variable to keep track of F(n-2). You simply set it F(n-2) = F(n-1) as it starts a new iteration, and set F(n-1) = F(n).
Then sum up the F(n-2) + F(n-1) which will now be F(n).

(n-2) = (n-1)
(n-1) = n    
n = (n-2) + (n-1)


When the for loop ends, you will have exactly nth fibonacci number you wanted.
At last, print it out using JOptionPane.
When you are printing the result out with JOptionPane, note that you have to put 'null,' before the actual meesage you want to print out.

See below for the solution code.

Code

Solution Code

Back to the Program-A-Day homepage