Difference between revisions of "Fibonacci sequence"

From CompSciWiki
Jump to: navigation, search
Line 50: Line 50:
 
In order to get the user input by JOptionPane, you will first have to import the swing package.
 
In order to get the user input by JOptionPane, you will first have to import the swing package.
 
You can import swing package by  
 
You can import swing package by  
 +
 
import javax.swing.*; or import javax.swing.JOptionPane;
 
import javax.swing.*; or import javax.swing.JOptionPane;
  
Then, the next step would be declaring variables; in this program we will need only two int variables.
+
Then, the next step is declaring variables; in this program we will need three int variables.
current will be F(n) and previous will be F(n-1). Do NOT forget to declare them outside the for loop.
+
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.
 +
 
 +
See below for the code.
 
</pre>
 
</pre>
 
}}
 
}}

Revision as of 23:44, 1 April 2010

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.showMessageDialog method.


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.

See below for the code.

Code

Solution Code

Back to the Program-A-Day homepage