Blocage durant l'exécution d'un code Java
Bonjour,
je suis débutante en java ,j'ai eu un petit problème lors de l’exécution de ce programme qui créé un tableau de n élément de type personne et remplit le tableau avec des information du tableau, recherche et affiche les personne dont le code est égale a cp donnée
Le programme est :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| import java.util.*;
public class Adresse
{//attributs
static int numéro,code_postale;
String ville,nom_rue;
//méthodes
Scanner e=new Scanner (System.in);
void lire()
{
System.out.print("donner l'adresse :");
numéro=e.nextInt();
code_postale=e.nextInt();
ville=e.next();
nom_rue=e.next();
}
void afficher()
{System.out.print("l'adresse est:"+"numéro="+numéro+"nom_rue="
+nom_rue+"code_postale="+code_postale+"ville="+ville);
}
void modifier()
{System.out.print("donner la nouvelle adresse");
numéro=e.nextInt();
code_postale=e.nextInt();
ville=e.next();
nom_rue=e.next();
}
}//fin de la classe adresse |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| import java.util.Scanner;
public class personne
{
String nom,prenom;
Adresse adresse = new Adresse();
int taille,p[];//attributs
//les méthodes
Scanner e=new Scanner (System.in);
void lire()
{System.out.print("donner le nom,prenom et l'adresse de la personne:");
nom=e.next();
prenom=e.next();
adresse.lire();}
void affiche()
{System.out.print("nom="+nom+"prenom="+prenom);
adresse.afficher();}
void modifier()
{System.out.print("Voulez vous modifier l'adresse de la personne:");
adresse.modifier();}
}//fin de la classe |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| import java.util.*;
public class prog_princ {
@SuppressWarnings("static-access")
public static void main(String args[])
{int n;
System.out.print("donner le nbre d'elemnet n: ");
Scanner e=new Scanner (System.in);
n=e.nextInt();
personne p[]= new personne[n];
int i;//création du tableau p
for (i=0;i<=n;i++)
{p[i]= new personne();<============================== "l’exécution se bloque ici"
p[i].lire();
}
//recherche et affichage de toutes les personnes dont le code postale est=cp
System.out.print("donner un code postale");
int cp=e.nextInt();
for (i=0;i<=n;i++)
{if (p[i].adresse.code_postale ==cp) p[i].affiche();}
//modifier l'adresse d'une personne de nom donné et affichage du contenue du tableau
System.out.print("donner un nom:");
String nom = e.next();
for(i=0;i<=n;i++)
{if (p[i].nom==nom )p[i].modifier();p[i].affiche();}
}
} |
Quel est le problème ? Et comment dois-je faire pour le corriger ?
Merci d'avance pour votre aide.