The Waxy Man
Messages postés26Date d'inscriptionlundi 24 septembre 2001StatutMembreDernière intervention 6 novembre 2003
-
22 oct. 2002 à 15:03
The Waxy Man
Messages postés26Date d'inscriptionlundi 24 septembre 2001StatutMembreDernière intervention 6 novembre 2003
-
23 oct. 2002 à 11:04
J'ai re-besoin d'aide !!!
ERREUR:
C:\jdk1.3\bin\javaw.exe -classpath "C:\jdk1.3\jre\lib\rt.jar;C:\DATA\2ti\Eleves\Englebert" Englebert
java.lang.NullPointerException
at Englebert.main(Englebert.java:49)
Exception in thread "main" Finished executing
PROG:
/*Réaliser un prog,
1. on peut choisir une école -> menu Suivant
2. on peut ajouter un etudiant MAX 100 ETU / école
3. ajouter des résultats à un étudiant
4. calculer une moyenne d'un etudiant
5. on peut afficher tout les étudiant avec ou sans leurs résultats.
*/
class Etudiant
{
String nom, prenom;
int num;
int nb_eleves;
Etudiant() {
System.out.println("Entrez le nombre l'eleves que vous souhaitez enter:/n> ");
nb_eleves=Clavier.lireInt();
Etudiant[] et= new Etudiant[nb_eleves];
for (int i=0; i<nb_eleves; i++)
{
et[i] = new Etudiant();
System.out.println("Nom: ");
et[i].nom=Clavier.lireString();
System.out.println("Prenom: ");
et[i].prenom=Clavier.lireString();
System.out.println("Numero: ");
et[i].num=Clavier.lireInt();
}
}
}
public class Englebert
{
public static void main (String [] args)
{
int ecole_temp;
int nb_eleves;
int choix=1;
Ecole[] nom_ecoles= new Ecole[3];
nom_ecoles[0].nom="EPHEC LLN";
nom_ecoles[1].nom="EPHEC BRUXELLES";
nom_ecoles[2].nom="EPHEC BRUXELLES2";
// Menu pour choisir une école
System.out.println("Bienvenue sur GestStud 1.0");
System.out.println("Veuillez choisir une école:/n");
System.out.println("Ecole n° 1: "+nom_ecoles[0].nom);
System.out.println("Ecole n° 2: "+nom_ecoles[1].nom);
System.out.println("Ecole n° 3: "+nom_ecoles[2].nom+"/n/n/n> ");
ecole_temp = Clavier.lireInt();
// Menu pour faire des actions
while (choix != 0);
{
System.out.println("Bienvenue sur GestStud 1.0");
System.out.println("Pour entrer de nouveaux eleves tappez : 1");
System.out.println("Pour ajouter les résultats tappez : 2");
System.out.println("Pour tout afficher tappez : 3");
System.out.println("Pour quittez tappez : 0/n/n/n> ");
choix = Clavier.lireInt();
switch (choix) {
case 1 : break;
case 2 : //System.out.println("/nNom: "+this.nom+"\nPrenom: "+this.prenom+"\nNumero: "+this.num+"\nNom ecole: "+this.ecoles+"/n*****"); break;
case 3 : break;
}
}
}
}
willowman
Messages postés143Date d'inscriptionvendredi 5 juillet 2002StatutMembreDernière intervention18 mars 20061 23 oct. 2002 à 01:30
Salut !
A la ligne 40 tu veux initialiser un attribut (nom) appartenant à une instance de l'objet Ecole, alors que cette derniére n'a pas ete instanciée !
Tu fais bien :
Ecole[] nom_ecoles= new Ecole[3];
Ce qui te crée bien un tableau d'objet Ecole, mais chaque element de ton tableau doit etre construit !
Il faut donc faire :
Ecole[] nom_ecoles= new Ecole[3];
nom_ecoles[0] = new Ecole();
nom_ecoles[0].nom="EPHEC LLN";
nom_ecoles[1] = new Ecole();
nom_ecoles[1].nom="EPHEC BRUXELLES";
ect...
Toutefois, cet oubli est assez frequent lorsque l'on utilise des tableaux d'objets. Dans ce cas, chaque element est initialisé et pointe sur "null", d'ou l'erreur ensuite du java.lang.NullPointerException !!