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 13747 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 261 articles
|BIO_PSEUDO|
Commentaires récents

Publié par pat59 dans CMS

j espere que le jeu vas fonctionner car vous le donnez mais il est bloqué snifff

Publié par FOBEC dans CMS

test
commentaire

Publié par eldiablo dans java

Après recherches, il manquait simplement une ligne à cette classe et à la mienne. Il suffit d'ajouter
df.setLenient(false);
juste après
SimpleDateFormat df = new...

Publié par Fobec dans CMS

Norton emet une alerte de type 'Suspicious.Cloud', hasard de compilation ou menace serieuse ? Faites attention en installant le logiciel.<br>Merci JM de l'avoir signaler.

Publié par Ludwig dans tuto

Bonjour,
Il me semble que les plugins de gestion d'images sont payants pour TinyMCE et CKeditor, est-ce toujours le cas ?
Il manque amha l'excellent Xinha dans cette liste, qui lui est Open Sour...