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