// FibonacciTest // Método recursivo fibonacci // Pacotes de núcles de Java
import java.awt.*;
import java.awt.event.*;
//Pacotes de extensão java
import javax.swing.*;
public class FibonacciTest extends JApplet implements ActionListener {
JLabel numberLabel, resultLabel;ge
JTextField numberField, resultField;
//Configura o Gui do applet
public void init()
{
//Obetem painel de conteudo e configura seu layout para Flowlayout
Container container = getContentPane();
container.setLayout(new FlowLayout());
//cria numberLabel e o anexa ao apinel de conteudo
numberLabel = new JLabel("Entre com um numero inteiro e pressione Enter");
container.add(numberLabel);
//cria numberField e o anexa ao painel de conteudo
numberField = new JTextField(10);
container.add(numberField);
//registra este applet como um ActionListener de numberField
numberField.addActionListener(this);
//cria resultLabel e o anexa ao Painel de conteudo
resultLabel = new JLabel("O valor de Fibonacci é: ");
container.add(resultLabel);
//cria numberField, torna-o não-editavel
// eo anexa ao painel de conteudo
resultField = new JTextField(15);
resultField.setEditable(false);
container.add(resultField);
} //fim do método init
//Obtem dados de entrada do usuario e chama o metodo Fibonacci
public void actionPerformed (ActionEvent e)
{
long number, fibonacciValue;
//Obtem dados digitados pelo usuario e converte para long
number = Long.parseLong(numberField.getText());
showStatus("Calculando ....");
//Calcula valor de fibonacci para o numero digitado pelo usuario
fibonacciValue = fibonacci(number);
//indica fim do processamento e exibe resultado
showStatus("Pronto");
resultField.setText(Long.toString(fibonacciValue));
} //fim do metodo actionPerformed
//definicao recursirva do método fibonacci
public long fibonacci (long n)
{
//caso básico
if (n==0 || n==1)
return n;
//etapoa de recursao
else
return fibonacci (n-1) + fibonacci(n-2);
}
} // fim da classe FibonacciTest
veja o applet testFabonacci
Este artigo foi útil ?
SimNão
Last modified: 15 de dezembro de 2007