// 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

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Close Search Window