int i = 1;
String tab[] = new String[100];
while(resultat.next()){
String nom = resultat.getString("code_article");
tab[i] = nom;
i++;
}<!-- END TEMPLATE: bbcode_code -->
dans mon code j'ai inicialisé la valeur de tableau 100 mais si j'utilise les arraylist ça sera sympat avoir un tableau dynamique
merci de bien vouloir m'aider
c'est assez simple et un séjour sur la javadoc t'aurait évité d'attendre que quelqu'1 s'occupe de ton cas.
import java.util.ArrayList;
import java.util.List;
.....
List<String> listNom = new ArrayList<String>();
//tu peux aussi dirrectement faire ArrayList<String> listNom = new ArrayList<String>();
while(resultat.next()){
String nom = resultat.getString("code_article");
listNom.add(nom);
}<!-- END TEMPLATE: bbcode_code -->
......
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
C'est l'avantage des collections (ce que je te disais précédement) : les listes permettent d'ajouter à la volée (ou supprimer) des éléments => pas besoin de fixer une taille à l'avance (pratique si on ne connait pas la taille justement !)
merci mes amis j'ai essayé de mettre :
List<String> listNom = new ArrayList<String>();
while(resultat.next()){
String nom = resultat.getString("code_article");
listNom.add(nom);
}<!-- END TEMPLATE: bbcode_code -->
un message d'erreur "TableFromDatabase.java": '(' or '[' expected at line 36, column 37
et comment parcouri la liste avec Iterator i = listNom.iterator(); pour afficher resultat dans System.out.println("résultat"+);
ma syntax est pour le jdk 1.5 et supérieur donc si tu es en 1.4 change le code par :
List listNom = new ArrayList();
//tu peux aussi dirrectement faire ArrayList<String> listNom = new ArrayList<String>();
while(resultat.next()){
String nom = resultat.getString("code_article");
listNom.add(nom);
}
sinon pour parcourirtu peux le faire de pleins de façons (je t'en met quelques une :
avec le jdk 1.4 :
for (int i = 0; i < listNom.size(); i++){
String s = (String)listNom.get(i); //cast obligatoire
System.out.println(s);
}
avec le jdk 1.5
for (int i = 0; i < listNom.size(); i++){
String s = listNom.get(i); //pas besoin du cast vu qu'a la création est défini un modèle de type String don tu ne peux y mettre autre chose que des String
System.out.println(s);
}
//ou en core
for (String s : listNom){
System.out.println(s);
}
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
WORA
Vous n’avez pas trouvé la réponse que vous recherchez ?
ArrayList A = new ArrayList();
while (resultat.next()) {
String nom = resultat.getString("code");
A.add(nom);
}
String s = "select * from test";
ResultSet resulta = instruction.executeQuery(s);
ArrayList B = new ArrayList();
while (resulta.next()) {
String nom2 = resulta.getString("code");
B.add(nom2);
}
float d= 0;
for (int i = 0; i < A.size(); i++) {
String s1 = (String) A.get(i);
for (int j = 0; j < B.size(); j++) {
String s2 = (String) A.get(j);
if (s1.equals(s2) == true)
d++;
}
d=d/7;
System.out.println("le support de " + A.get(i) +" "+"égal :"+ d);
}
d comteur pour compter le nombre de chaque élément de la list A puis divisé par 7 alors j'aurais par exemple A=2/4,B=1/4et C=1/4 alors
le probleme que je voulais ajouter la condition if (d<2/4 ) supprimer les élément de la list A le résultat sera dans la list A que A
j'ai essayé d'ajouter apres d=d/4;
if (d<2/4) {
A.set(i,"y");
while(list.contains("y"))
list.remove("y");
mais ça n'a pas marché j'ai toujours la liste A avec
je ne comprend pas ta demande peux-tu refaire en etant plus clair stp.
concèrnant ta boucle plus haut tu as une erreur
tu fais :
float d= 0;
for(int i = 0; i < A.size(); i++){
String s1 = (String) A.get(i);
for(int j = 0; j < B.size(); j++){
String s2 = (String) A .get(j);
if(s1.equals(s2) == true)//en java tu peux simplement faire if(s1.equals(s2))
d++;
}
d=d/4;
}
or tu devrais faire :
float d= 0;
for(int i = 0; i < A.size(); i++){
String s1 = (String) A.get(i);
for(int j = 0; j < B.size(); j++){
String s2 = (String) B .get(j);
if(s1.equals(s2) == true)//en java tu peux simplement faire if(s1.equals(s2))
d++;
}
d=d/4;
}
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
d comteur pour compter le nombre de chaque élément de la list A puis divisé par 4 alors j'aurais par exemple A=2,B=1et C=1
si je voulais ajouter la condition if (d<3 ) supprimer les élément de la list A le résultat sera dans la list A que A car le nombre de B et C inférieur a 3
if (d<3) {
A.set(i,"y");
while(list.contains("y"))
list.remove("y");
mais ça n'a pas marché j'ai toujours la liste A avec A,B,C,B et normalemt j'aurais que A aprés la supprission
A,B,C sont de listes ou des entier de plus c'est quoi 'list' ou tu y met 'y' ? tu veux delete des entiers ou des lettres? bref pas mieux je ne comprend tjrs rien
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
désolé ami j'ai deux liste A et B
liste A contient A,B,C
et la liste B contient A,A,B,C
d compte le nombre des éléments de la liste A dans la liste B par exemple A de la liste A apparait deux fois dans la liste B
et je voulais supprimer les élément de la liste A mais apres le test de if que j'ai écrit