Parcourir arrayliste [Résolu]

A voir également:Parcourir arraylist javaParcourir arraylist - Meilleures réponses Parcourir une arraylist - Meilleures réponses Afficher arraylist java ✓ - Forum - Java Taille arraylist java ✓ - Forum - Programmation Trier arraylist java ordre alphabétique ✓ - Forum - Programmation Parcourir hashmap java ✓ - Forum - Java Afficher les éléments d'une arraylist java ✓ - Forum - Java

Bonjour,
Au cours de l'exécution de cette méthode ,cette dernière ne traite que le dernier élément de la liste!

 public static int caculCodeBin () {       int indice=0,BN=0; String sc;       for(String e : label)        { sc=(e.substring(1,2));          indice=Integer.parseInt(sc);       BN=(int)Math.pow(2, indice);}       return BN;     }

Forum

A voir également:Parcourir arraylist javaParcourir arraylist - Meilleures réponses Parcourir une arraylist - Meilleures réponses Afficher arraylist java ✓ - Forum - Java Taille arraylist java ✓ - Forum - Programmation Trier arraylist java ordre alphabétique ✓ - Forum - Programmation Parcourir hashmap java ✓ - Forum - Java Afficher les éléments d'une arraylist java ✓ - Forum - Java

Web: www.shapebootstrap.net

3 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

 public static int caculCodeBin () {  	int indice=0,BN=0; String sc;  	for(String e : label) { 		sc=(e.substring(1,2));  		indice=Integer.parseInt(sc);  		BN=(int)Math.pow(2, indice); 	}  	return BN;  } 


Bonjour, avec indentation c'est plus lisible !
Je suppose que l'attribut label est un attribut.

En fait votre méthode traite bien tout les éléments de la liste mais retourne uniquement la dernière valeur que va prendre BN. (BN n'est pas un tableau de valeur ici).

Reply
réponses:
  • auteur

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Votre méthode retourne BN mais qui correspond à dernière valeur de l'array,
Si vous voulez récupérer toutes les valeurs de BN au parcours de la boucle il faut la récupérer dans un tableau ou dans une liste a chaque passage de la boucle.

Il y a plusieurs possibilités, je vous propose de créer une liste d'entier (BN) dans votre méthode. Puis dans la boucle il faut ajouter chaque valeur à BN avec une valeur (celle que vous avez convertie) cela donne quelque chose comme:

 public static ArrayList caculCodeBin () {          ArrayList BN = new ArrayList();  	int indice=0; String sc;  	for(String e : label) { 		sc=(e.substring(1,2));  		indice=Integer.parseInt(sc);  		BN.add=(int)Math.pow(2, indice); 	}  	return BN;  } 


PS: je n'ai pas testé ce code.
Cordialement

Reply
réponses:
  • auteur

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Voici ce que fais votre code :
Pour chaque éléments de la liste2 ( de 0 à taille.liste), on regarde tout les éléments de la liste1.
Dans votre deuxième boucle vous incrémenté la liste2 d'un élément( elle s'agrandis donc indéfiniment.
et dans le if vous incrémenté col de 1 ce qui donne une boucle infinis.

Si j'ai bien compris votre problème vous voulez parcours la liste 1 et l'ajouter dans une liste 2 si l'élément cherché correspond donc voici un code non testé :

 	for (int i = 0; i < liste.size(); i++) { 	    double somme = liste.get(i); 	    System.out.println("Somme numero: "+i+" de valeur " +somme); 		if(somme==1){ 			System.out.println("égale à 1 alors ajoute a liste 2"); 			liste2.add(somme); 		} 	} 

Reply
réponses:
  • auteur

  • auteur

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed