Java probleme arraylist size()

Résolu
nickie - 8 mars 2009 à 15:59
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 -
Bonjour,
voila j'ai une methode recherche d'un compte par numero de compte, jai donc un arraylist compte qui contient des comptes avec nom , prenom, numero de compte etc...

public void recherche_compte(int numero_new_compte){
for (int i=0;i<compte.size();i++) {
if (compte.get(i).equals(numero_new_compte)) {
System.out.println("compte trouvé");// c 'est juste un test apres cette ligne sera modifier
}
}
}

parcontre quant je compile j'ai deux erreur dans cette methode:

cannot find symbol
symbol : method size()
location: class compte
for (int i=0;i<compte.size();i++) {
^
cannot find symbol
symbol : method get(int)
location: class compte
if (compte.get(i).equals(numero_new_compte)) {
^
2 errors

jai regarder dans l'api , jai bien defini les deux metode size et get donc je ne comprend pas

merci de m'aider
A voir également:

6 réponses

mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 437
8 mars 2009 à 16:19
mets ta classe en entier pour qu'on voit mieux le probleme...
1
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 437
8 mars 2009 à 16:36
tu n'as pas respecté la caste c'est Compte avec une majuscule...
donc ça donne
 for (int i=0;i<Compte.size();i++) {
		  if (Compte.get(i).equals(numero_new_compte)) {
1
raa merci j'ai galèré pendant une heure la, faire lire son code par un autre est très efficace
merci
0
Utilisateur anonyme
8 mars 2009 à 16:45
Salut,

Ok, c'est une array, et c'était bien précisé.

Dan
0
Utilisateur anonyme
8 mars 2009 à 16:28
Bonjour,

// si le tableau se nomme compte[]

erreur 1:
for (int i=0;i<compte.size();i++) {
for (int i = 0; i < compte.length; i++) {

erreur 2;

if (compte.get(i).equals(numero_new_compte)) {
if (compte[i].equals(numero_new_compte)) {

Ceci pour la syntaxe, mais n'ayant pas la description des éléments de ton tableau, il y a peut-être autre chose à faire avant de tester si le compte existe...

Cordialement,

Dan
0
c'est un arraylist que j'ai :
public ArrayList<compte> Compte;
0
je vous mets ma class banque
class banque{
  private String NomBanque;
  public ArrayList<compte> Compte;
  private int numero_new_compte;
  
	public banque(String nom_banque){
		Compte = new ArrayList<compte>();
		this.NomBanque= nom_banque;
		this.numero_new_compte=1;
	}

	public void creer_compte_anonyme(String nom, String prenom,double decouvert_autoriser, double apport_initial){
		this.Compte.add(new compte_anonyme(numero_new_compte, decouvert_autoriser, apport_initial, nom, prenom));
		numero_new_compte++;
	}

	public void creer_compte_physique(String nom, String prenom,double decouvert_autoriser, double apport_initial){
		this.Compte.add(new compte_physique(numero_new_compte,decouvert_autoriser, apport_initial, nom, prenom));
		numero_new_compte++;
	}

	public void creer_compte_entreprise(String nom_entreprise,double decouvert_autoriser, double apport_initial){
		this.Compte.add(new compte_entreprise(numero_new_compte, decouvert_autoriser, apport_initial, nom_entreprise));
		numero_new_compte++;
	}

	public void recherche_compte(int numero_new_compte){
	      for (int i=0;i<compte.size();i++) {
		  if (compte.get(i).equals(numero_new_compte)) {
			System.out.println("compte trouvé");
		  }
	      }
	}

	public void affiche_all(){
		Iterator b1 = Compte.iterator();
		while (b1.hasNext()){
			((compte) b1.next()).affiche();
		}
	}
}
0

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

Posez votre question
bonsoir
jai un autre souci dans ma methode ma condition if n'ai jamais valide
public void recherche_compte(int numero_new_compte){
	      for (int i=0;i<Compte.size();i++) {
		 
		  if (Compte.get(i).equals(numero_new_compte)) {
			Compte.get(i).affiche();
		  }
	      }
	}


enfaite je fais une recherche par numéro de compte et j'affiche mais je ne rentre pas dans le if.
mon Compte.get(i) renvoie une adresse du tableau et je compare ça equals(numero_new_compte) qui et un int donc c'est peut être normal mais je ne vois pas d'autre idée si quelqu'un avait une autre solution.


dans mon main j'ai banque ban1 = new banque("BNP");
public class mabanque {
	public static void main(String[] args){
		banque ban1 = new banque("XXX");
		ban1.creer_compte_anonyme("xxx", "xxx",200, 10000); //numero de compte 1
		ban1.creer_compte_physique("xxx", "xxx",500, 10000); //numero de compte 2
		ban1.creer_compte_entreprise("xxx",0, 50000); //numero de compte 3
		ban1.recherche_compte(1);
		//ban1.affiche_all();
	}
}


merci
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 437
8 mars 2009 à 18:15
je pense que dans ta classe compte tu dois avoir un attribut pour le numero du compte...
donc apres tu peux faire
 if (Compte.get(i).attribut_num_compte == numero_new_compte)
0