Publié le 22/12/2010
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
2 commentaires

Afficher la suite de Fibonacci dans un JTable

La suite du mathématicien Fibonacci est la célèbre suite de nombre:
0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,...
Elle est utilisée dans de nombreux domaines qui vont des statistiques, à la finance et même à la littérature (Da Vinci Code). Le nombre doré, issu de la division f(n)/f(n-1), est une constante importante dans l'art et l'architecture.

Calcul de la suite de Fibonacci

Le but de la class FibonacciSerie est d'illustrer:
- la création d'un GUI contenant un JTable
- l'affichage d'un Double avec Double.toString et DecimalFormat,
- l'ajout d'une ligne dans un JTable.
import java.text.DecimalFormat;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
 
/**
 * Calculer les 30 premiers elements de la suite de Fibonacci
 * @author Fobec 2010
 */
public class FibonacciSerie extends JFrame {
 
    private JTable jTable = null;
/**
 * Constructeur
 * Creation du GUI
 */
    public FibonacciSerie() {
        super("Suite de Fibonacci");
 
        JScrollPane jscrollPane = new javax.swing.JScrollPane();
        DefaultTableModel tableModel = new DefaultTableModel(
                new Object[][]{},
                new String[]{
                    "n", "f(n)", "ratio"
                });
 
        jTable = new JTable(tableModel);
        jscrollPane.setViewportView(jTable);
        getContentPane().add(jscrollPane);
        setSize(600, 550);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }
/**
 * Ajouter la suite de Fibonacci dans le tableau
 */
    public void fillTable() {
        this.appendLine(0, "1", "");
        this.appendLine(1, "1", "");
 
        double prev = 1;
        double prevprev = 1;
        double val = 0;
        Double ratio;
        DecimalFormat fmt = new DecimalFormat();
        fmt.setMinimumFractionDigits(0);
 
        for (int i = 2; i < 30; i++) {
            val = prevprev + prev;
            ratio = val / prev;
            this.appendLine(i, fmt.format(val), Double.toString(ratio));
            prevprev = prev;
            prev = val;
        }
    }
 
    /**
     * Ajouter une ligne au JTable
     * @param n indice
     * @param val f(n)
     * @param ratio f(n)/f(n-1)
     */
    private void appendLine(int n, String val, String ratio) {
        DefaultTableModel tablemodel = (DefaultTableModel) jTable.getModel();
        Object[] objects = new Object[3];
        objects[0] = n;
        objects[1] = val;
        objects[2] = ratio;
 
        tablemodel.addRow(objects);
    }
 
    /**
     * Exemple pour lancer la classe
     * @param args
     */
    public static void main(String[] args) {
        FibonacciSerie jFrame = new FibonacciSerie();
        jFrame.fillTable();
    }
}

Voici la suite des 30 premiers nombres de la suite de Fibonacci

Lorsque l'on execute la class ci-dessus, on obtient les 30 premiers nombres de la suite de Fibonacci. On remarque également que plus le nombre de boucle augmente plus on obtient un ratio proche du nombre d'or.

fibonacci_serie

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.
avatar coramarr

Publié par coramarr

le 26/09/2013 à 18:20:12

Peut-on trouver des infos sur cette suite qui serait utilise en statistiques. Des documents ou ouvrages qui relatent les divers possibilites d'utilisation de cette suite.
Je suis un particulier ni trop doue ni trop bete. Depuis le temps que j'entends parler de cette suite de FIBONACCI je me decide poser des questions sans grand espoir de reponse mais on ne sait jamais....
Cordialement

avatar amelia

Publié par amelia

le 28/10/2013 à 12:47:29

pour 30 sa donne 1346269

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - class
Mise a jour
22/12/2010
Visualisation
vu 15469 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Franzi dans java

Bonjour,
Le code est simple et compile, après être entré dans public void connect, il n'effectue pas this.session.get.transport et s'arrête. Sous eclipse avec Tomcat, j'ob...

Publié par liomka dans java

Merci! C'étais l'exemple parfait donc j'avais besoin pour apprendre la programmation Client/Serveur en Java ;)

Publié par dotnet dans php5

Cette interface est intéressant par le fait qu'elle soit universelle, donc son intérêt pour moi est qu'elle permet l'accès aux bases de données Microsoft SQL Server....

Publié par zozo dans logiciel

comment ca marche??????????

Publié par Bonjour dans java

Joli travail!
Par contre, savez vous que votre barre de progression s'arrête à un certain pourcentage?