Java appeler une list dans un tab de type objet

Fermé
deep_sea Messages postés 201 Date d'inscription mardi 10 mai 2016 Statut Membre Dernière intervention 10 décembre 2022 - 9 déc. 2022 à 22:00
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 10 déc. 2022 à 22:10

Bonsoir tous le mode ,

je voulais calculer le cumul d'une colonne et l'afficher dans une autre colonne 

j'ai fais une fonction qui sappelle getcumul() qui retourne une la liste des sommes cumulées

la fonction fonctionne parfaitement

 public List<Double> getcumul()
 {
        ////////////////////////////////////////////////mobil//////////////////////////////////////
        String sql_cumul = "select mon  from mobknt where nat='004'and eve='" + num_contrat + "' order by dco";
       try {
           PreparedStatement pst13 = conn.prepareStatement(sql_cumul);
            ResultSet rs12;
           rs12 = pst13.executeQuery();
           while (rs12.next()) {
              listmon.add(rs12.getDouble(1));
                System.out.println("RESULTAT" + (listmon.toString()));
            }

            for (Double d :listmon) {
                sum += d;
              listcum.add(sum);

           System.out.println("RESULTAT FINAL" + (listcum.toString()));

           }
       
 }
       catch(Exception er)
        {
            er.getMessage();
        }
return listcum;
                  
 }

le problème lors de l'appel de la fonction dans un tableau de type objet ,j'ai rencontré une erreur  de comptabilité

ci-aprés le code 

            while (rse.next()) {
                      Object[] enc = {l, getcumul(),new Boolean(false)};
                     
                dt1.addRow(enc);       
                l++;   
                                }

Merci de me donner une solution 

A voir également:

2 réponses

cengokill Messages postés 251 Date d'inscription dimanche 27 mai 2012 Statut Membre Dernière intervention 19 décembre 2022 17
9 déc. 2022 à 22:30

Pour résoudre ce problème, vous devriez vérifier les types de données que vous utilisez pour remplir votre tableau d'objets et vous assurer que ceux-ci sont compatibles avec la fonction getcumul() et la méthode addRow() de votre objet dt1.

Il est également possible que vous rencontriez des problèmes avec la requête SQL que vous utilisez dans la fonction getcumul() pour récupérer les données de la base de données. Vous devriez vérifier la syntaxe de cette requête et vous assurer qu'elle s'exécute correctement et renvoie les données attendues.

Enfin, il pourrait y avoir un problème avec la fonction getcumul() elle-même. Vous devriez vérifier son code pour vous assurer qu'elle fonctionne correctement et qu'elle renvoie les résultats attendus.


0
deep_sea Messages postés 201 Date d'inscription mardi 10 mai 2016 Statut Membre Dernière intervention 10 décembre 2022 1
9 déc. 2022 à 22:35

je vous remercie pour votre réponse 

La requête fonctionne correctement elle récupère les montants et les sauvegarde dans un tableau de type double puis je fais la somme cumulée de ses montants  et je les mis dans un autre tableau de type double 

le probléme le tableau de type objet n'accepte pas la fonction qui retourne une liste de type double

quoi faire

1
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
Modifié le 10 déc. 2022 à 12:04

Bonjour,

Java est un langage objet, fortement typé, en général quand on fait un tableau, une liste, etc. c'est pour stocker des données homogènes dedans.

Au lieu de faire un tableau d'objets comme ça :

Object[] enc = {l, getcumul(),new Boolean(false)};

Il faudrait plutôt te créer une classe dédiée, pour stocker chacune de tes trois valeurs dans un attribut. Le plus simple étant de faire un record (Java 14 et +)

https://www.baeldung.com/java-record-keyword


0
deep_sea Messages postés 201 Date d'inscription mardi 10 mai 2016 Statut Membre Dernière intervention 10 décembre 2022 1
10 déc. 2022 à 21:49

j'utilise java 8 !!

0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015 > deep_sea Messages postés 201 Date d'inscription mardi 10 mai 2016 Statut Membre Dernière intervention 10 décembre 2022
10 déc. 2022 à 22:10

Pas de record alors, mais tu devrais quand même faire une classe.

0