Probleme addition dans un tableau

Résolu
Beberto56 Messages postés 119 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 22 décembre 2008 - 4 juin 2008 à 15:37
Beberto56 Messages postés 119 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 22 décembre 2008 - 5 juin 2008 à 11:30
Bonjour,

j'ai instancié un tableau en java dans l'API swing Netbeans, et je voudrais totaliser dans la 4ième colonnes les sommes présentes dans les trois premières colonnes.
Voici le code que j'ai pour l'instant mais je n'ai rien qui apparaît dans la 4 colonne lorsque je saisie mes 3 premières colonnes:

            public static DefaultTableModel modele = new DefaultTableModel();      
   
            public void run()
            {
               
                new Main().setVisible(true);
               
                modele = (DefaultTableModel)table.getModel();
                int w,total;                String c1 null,c2 null,c3 = null;
                w=table.getRowCount();
                int i;
                for(i=0;i<w;i++)
                {
                    c1=(String) modele.getValueAt( i,0);
                    c2=(String) modele.getValueAt( i,1);
                    c3=(String) modele.getValueAt( i,2);
                }
                Integer mon1 = new Integer(c1);   
                int i1 = mon1.intValue();
                Integer mon2 = new Integer(c2);   
                int i2 = mon2.intValue();
                Integer mon3 = new Integer(c3);   
                int i3 = mon3.intValue();
                total= i1 + i2 + i3;

                String montexte = new String();
                montexte = montexte.valueOf(total);
                Object Total;
                Total= montexte;
                modele.setValueAt(Total,i,3);
             }

Si quelqu'un peut me dire ce qui ne va pas je lui en serais reconnaissant.

Merki^^

Julien.

6 réponses

nosferaltu0 Messages postés 36 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 6 juin 2008
5 juin 2008 à 11:15
T'aurais pas inversé colonne et ligne par hazard?

exemple de parcours de tableau en faisant la somme des COLONNE-1 première colonne et en mettant le résultat dans la dernière.
int[][] tab = new int[LICNE][COLONNE];
int total;
int j;
remplirTableau(tab);
for(int i=0;i<LIGNE;i++){
    total=0;
    for(j=0;i<COLONNE-1;j++){
       total+=tab[i][j];
    }
    tab [i][j] = total;
}
3
nosferaltu0 Messages postés 36 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 6 juin 2008
4 juin 2008 à 16:22
Le probleme c'est que quand tu écris modele.setValueAt(Total,i,3); ton i vaut w.
Pour éviter ce genre de probleme java t'autorise à écrire for(int i=0;i<w;i++){}.
0
Beberto56 Messages postés 119 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 22 décembre 2008
4 juin 2008 à 16:32
re

ouai mais je l'ai mis for(int i=0;i<w;i++){}.; et sa ne fonctionne pas pourtant donc....
0
nosferaltu0 Messages postés 36 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 6 juin 2008
4 juin 2008 à 16:57
J'avais lu rapidement. Effectivement il ne faut pas que tu fasse for(int i=0...) mais l'erreur est bien au niveau du i=w.
public void run()
            {
               
                new Main().setVisible(true);
               
                modele = (DefaultTableModel)table.getModel();
                int w,total;                String c1 null,c2 null,c3 = null;
                w=table.getRowCount();
                int i;
                for(i=0;i<w-1;i++) //On compte à partir de 0 donc la dernière ligne c'est w-1. Donc i doit valoir w-1.
                {
                    c1=(String) modele.getValueAt( i,0);
                    c2=(String) modele.getValueAt( i,1);
                    c3=(String) modele.getValueAt( i,2);
                }
                Integer mon1 = new Integer(c1);   
                int i1 = mon1.intValue();
                Integer mon2 = new Integer(c2);   
                int i2 = mon2.intValue();
                Integer mon3 = new Integer(c3);   
                int i3 = mon3.intValue();
                total= i1 + i2 + i3;
                  
                System.err.println("i1="+i1+" i2="+i2+" i3="+i3+" total="+total+" i="+i); //si il y a toujours des erreurs, que renvoie cette ligne?
                modele.setValueAt(total+"",i,3);

             }
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Beberto56 Messages postés 119 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 22 décembre 2008
5 juin 2008 à 09:45
Re,

en fait le probleme vient de ma boucle for sa déconne trop elle ne passe pas même pas la valeur de la cellule 3 donc???

est ce que tu peut faire un petit tableau de ton coté a 4 colonnes (avec total des 3 première dans la dernière) et me mettre ton code si il fonctionne que je compare.

Parce que même en debug je pige pas trop les boucles encore.

Merki^^

Ju
0
Beberto56 Messages postés 119 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 22 décembre 2008
5 juin 2008 à 11:30
Je te remerci je vais essayer d'adapter cela a mon code

++
0
Rejoignez-nous