Récupérer un tableau d'une fonction
Résolu
wifsimster
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
wifsimster Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
wifsimster Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerai savoir comment pouvoir récupérer le tableau que me retourne ma fonction JAVA.
J'ai essayé plusieurs manière, dont :
Toujours avec une erreur de java.lang.NullPointerException.
J'aimerai savoir comment pouvoir récupérer le tableau que me retourne ma fonction JAVA.
public int[] DateDeNaissance() throws SQLException { String sql = "SELECT DATEDIFF(NOW(),Date_naissance)/365.25 FROM usager;"; Statement stmt = con.createStatement(); ResultSet r = stmt.executeQuery(sql); int[] age = null; int indice = 0; String dateNaissance = null; while(r.next()) { indice = indice + 1; dateNaissance = r.getString(1); float conversion = Float.parseFloat(dateNaissance); age[indice] = (int) conversion; } return age; }
J'ai essayé plusieurs manière, dont :
System.arraycopy(DateDeNaissance(), 0, age, 0, DateDeNaissance().length);
Toujours avec une erreur de java.lang.NullPointerException.
A voir également:
- Récupérer un tableau d'une fonction
- Tableau word - Guide
- Fonction si et - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
4 réponses
java.lang.nullPointerException signifie que tu essaye de mettre une valeur dans une variable (ou tableau dans ton cas) qui n'a pas été instancié.
rajoute age = new int[TAILLE_Tableau];
et déja sa marchera beaucoup mieux ^^.
rajoute age = new int[TAILLE_Tableau];
et déja sa marchera beaucoup mieux ^^.
ça dépend de ce que tu doit stocker dans ton tableau!
soit tu mais une taille assez grande pour être sur de pas manquer de place.
soit tu sais que ton tableau ne contiendra pas plus de n élément et tu l'instancie à la valeur n.
soit tu mais une taille assez grande pour être sur de pas manquer de place.
soit tu sais que ton tableau ne contiendra pas plus de n élément et tu l'instancie à la valeur n.
ça sa veut dire que tu tente de rentrer une valeur alors que ton tableau est trop petit.
initialise le à 100 et dit moi si tu à encore des erreurs.
De plus combien récupère tu d'enregistrement avec ta base de donnés?
initialise le à 100 et dit moi si tu à encore des erreurs.
De plus combien récupère tu d'enregistrement avec ta base de donnés?
public int[] DateDeNaissance() throws SQLException { String sql = "SELECT DATEDIFF(NOW(),Date_naissance)/365.25 FROM usager;"; Statement stmt = con.createStatement(); ResultSet r = stmt.executeQuery(sql); int[] age = null; age = new int[100]; int indice = 0; String dateNaissance = null; while(r.next()) { indice = indice + 1; dateNaissance = r.getString(1); float conversion = Float.parseFloat(dateNaissance); age[indice] = (int) conversion; } return age; }
Utilisation :
int[] age = null; age = new int[9]; System.arraycopy(DateDeNaissance(), 0, age, 0, DateDeNaissance().length);
Je devrais avoir 9 lignes dans mon tableau age normalement.
Et j'ai toujours la même erreur.
Solution à mon problème avec des List :
private List<Integer> DateDeNaissance() throws SQLException { String sql = "SELECT DATEDIFF(NOW(),Date_naissance)/365.25 FROM usager;"; Statement stmt = con.createStatement(); ResultSet r = stmt.executeQuery(sql); List<Integer> age = new ArrayList<Integer>(); int indice = 0; String dateNaissance = null; while(r.next()) { indice = indice + 1; dateNaissance = r.getString(1); float conversion = Float.parseFloat(dateNaissance); age.add((int) conversion); } return age; }
Dans ma fonction :
Ou dans l'utilisation ?