A voir également:
- Probléme avec remplissage tableau en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Tableau word - Guide
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
25 réponses
Revoir la méthode "Remplir" comme suit:
public static void remplir(){
Scanner in=new Scanner(System.in);
char car =' ';
int i=0;
do{
System.out.println("Entrer le nom du client ?");
Nom=in.next();
System.out.println("Entrer le prenom du client ?");
Prenom=in.next();
System.out.println("Entrer l'age du client ?");
age=in.nextInt();
Client c=new Client(Nom,Prenom,age);
tab[i]=new Client(Nom,Prenom,age);
i++;
System.out.println("voulez vous continuez à saisir ?");
car=in.next().charAt(0);
}while(car!='n' && car!='N');
}
public static void remplir(){
Scanner in=new Scanner(System.in);
char car =' ';
int i=0;
do{
System.out.println("Entrer le nom du client ?");
Nom=in.next();
System.out.println("Entrer le prenom du client ?");
Prenom=in.next();
System.out.println("Entrer l'age du client ?");
age=in.nextInt();
Client c=new Client(Nom,Prenom,age);
tab[i]=new Client(Nom,Prenom,age);
i++;
System.out.println("voulez vous continuez à saisir ?");
car=in.next().charAt(0);
}while(car!='n' && car!='N');
}
Merciiiiiiiiii mnt il me remplit le tableau et m'affiche par la methode lister les info mais malgré u'il m affiche il me donne une erreur aprés
voilà l execution avec l erreur a la fin
********Menu***********
1.Remplir un tableau de clients
2.Afficher la liste des clients
3.Trier la liste des clients
4.Ajouter un client
5.Supprimer un client et décaler le reste à gauche
6.Quitter
******* ******************
entrez votre choix SVP ?
1
Entrer le nom du client ?
ZSDs
Entrer le prenom du client ?
sdsd
Entrer l'age du client ?
23
voulez vous continuez à saisir ?
o
Entrer le nom du client ?
dksd
Entrer le prenom du client ?
sdsd
Entrer l'age du client ?
234
voulez vous continuez à saisir ?
n
********Menu***********
1.Remplir un tableau de clients
2.Afficher la liste des clients
3.Trier la liste des clients
4.Ajouter un client
5.Supprimer un client et décaler le reste à gauche
6.Quitter
******* ******************
entrez votre choix SVP ?
2
************Client************
Nom Client : dksd
Prenom Client : sdsd
Age Client : 234
*******************************
************Client************
Nom Client : dksd
Prenom Client : sdsd
Age Client : 234
*******************************
Exception in thread "main" java.lang.NullPointerException
at Client.Afficher(Client.java:39)
at Main.main(Main.java:21)
voilà l execution avec l erreur a la fin
********Menu***********
1.Remplir un tableau de clients
2.Afficher la liste des clients
3.Trier la liste des clients
4.Ajouter un client
5.Supprimer un client et décaler le reste à gauche
6.Quitter
******* ******************
entrez votre choix SVP ?
1
Entrer le nom du client ?
ZSDs
Entrer le prenom du client ?
sdsd
Entrer l'age du client ?
23
voulez vous continuez à saisir ?
o
Entrer le nom du client ?
dksd
Entrer le prenom du client ?
sdsd
Entrer l'age du client ?
234
voulez vous continuez à saisir ?
n
********Menu***********
1.Remplir un tableau de clients
2.Afficher la liste des clients
3.Trier la liste des clients
4.Ajouter un client
5.Supprimer un client et décaler le reste à gauche
6.Quitter
******* ******************
entrez votre choix SVP ?
2
************Client************
Nom Client : dksd
Prenom Client : sdsd
Age Client : 234
*******************************
************Client************
Nom Client : dksd
Prenom Client : sdsd
Age Client : 234
*******************************
Exception in thread "main" java.lang.NullPointerException
at Client.Afficher(Client.java:39)
at Main.main(Main.java:21)
essaye de revoir la méthode "afficher" comme suit:
public static void Afficher(){
for (int i = 0; i <tab.length; i++) {
System.out.println(tab[i].toString());
}
public static void Afficher(){
for (int i = 0; i <tab.length; i++) {
System.out.println(tab[i].toString());
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
essaye de revoir la méthode "afficher" comme suit,en ayant saisie que 2 client avec la méthode "remplir":
public static void Afficher(){
for (int i = 0; i <2; i++) {
System.out.println(tab[i].toString());
}
public static void Afficher(){
for (int i = 0; i <2; i++) {
System.out.println(tab[i].toString());
}
au lieu d'ecrire comme suite dans la declaration static Client []tab=new Client[100];
j'ai ecris ça static Client []tab;
et aprés j ai mis dans la boucle de la methode d'affichage comme suite:
public static void Afficher(){
for (int i = 0; i <tab.length; i++) {
System.out.println(tab[i].toString());
}
et il m'a donné cette fois un probléme lors de la saisit des client voilà le probléme
execution:
********Menu***********
1.Remplir un tableau de clients
2.Afficher la liste des clients
3.Trier la liste des clients
4.Ajouter un client
5.Supprimer un client et décaler le reste à gauche
6.Quitter
******* ******************
entrez votre choix SVP ?
1
Entrer le nom du client ?
sdsd
Entrer le prenom du client ?
sdsd
Entrer l'age du client ?
23
Exception in thread "main" java.lang.NullPointerException
at Client.remplir(Client.java:26)
at Main.main(Main.java:20)
:s alors comment faire SVP
j'ai ecris ça static Client []tab;
et aprés j ai mis dans la boucle de la methode d'affichage comme suite:
public static void Afficher(){
for (int i = 0; i <tab.length; i++) {
System.out.println(tab[i].toString());
}
et il m'a donné cette fois un probléme lors de la saisit des client voilà le probléme
execution:
********Menu***********
1.Remplir un tableau de clients
2.Afficher la liste des clients
3.Trier la liste des clients
4.Ajouter un client
5.Supprimer un client et décaler le reste à gauche
6.Quitter
******* ******************
entrez votre choix SVP ?
1
Entrer le nom du client ?
sdsd
Entrer le prenom du client ?
sdsd
Entrer l'age du client ?
23
Exception in thread "main" java.lang.NullPointerException
at Client.remplir(Client.java:26)
at Main.main(Main.java:20)
:s alors comment faire SVP
j ai essayé static Client []tab; au lieu de static Client []tab=new CLient[100];
et j'ai changé la methode d'affichage comme suite:
public static void Afficher(){
for (int i = 0; i <tab.length; i++) {
System.out.println(tab[i].toString());
}
et voilà il ma donné une erreur au niveau du saisit
execution avce probléme :s
********Menu***********
1.Remplir un tableau de clients
2.Afficher la liste des clients
3.Trier la liste des clients
4.Ajouter un client
5.Supprimer un client et décaler le reste à gauche
6.Quitter
******* ******************
entrez votre choix SVP ?
1
Entrer le nom du client ?
sdsd
Entrer le prenom du client ?
sdsd
Entrer l'age du client ?
23
Exception in thread "main" java.lang.NullPointerException
at Client.remplir(Client.java:26)
at Main.main(Main.java:20)
SVPPPPPP aider moi c urgent
et j'ai changé la methode d'affichage comme suite:
public static void Afficher(){
for (int i = 0; i <tab.length; i++) {
System.out.println(tab[i].toString());
}
et voilà il ma donné une erreur au niveau du saisit
execution avce probléme :s
********Menu***********
1.Remplir un tableau de clients
2.Afficher la liste des clients
3.Trier la liste des clients
4.Ajouter un client
5.Supprimer un client et décaler le reste à gauche
6.Quitter
******* ******************
entrez votre choix SVP ?
1
Entrer le nom du client ?
sdsd
Entrer le prenom du client ?
sdsd
Entrer l'age du client ?
23
Exception in thread "main" java.lang.NullPointerException
at Client.remplir(Client.java:26)
at Main.main(Main.java:20)
SVPPPPPP aider moi c urgent
j ai essayé static Client []tab; au lieu de static Client []tab=new Client[100];
et j'ai changé la methode afficher comme suite:
public static void Afficher(){
for (int i = 0; i <tab.length; i++) {
System.out.println(tab[i].toString());
}
et voilà j ai eu un erreur lors de la saisit
voilà l execution + probléme
********Menu***********
1.Remplir un tableau de clients
2.Afficher la liste des clients
3.Trier la liste des clients
4.Ajouter un client
5.Supprimer un client et décaler le reste à gauche
6.Quitter
******* ******************
entrez votre choix SVP ?
1
Entrer le nom du client ?
sdsd
Entrer le prenom du client ?
sdsd
Entrer l'age du client ?
23
probléme
Exception in thread "main" java.lang.NullPointerException
at Client.remplir(Client.java:26)
at Main.main(Main.java:20)
svpppppppppp aide moi c urgent
et j'ai changé la methode afficher comme suite:
public static void Afficher(){
for (int i = 0; i <tab.length; i++) {
System.out.println(tab[i].toString());
}
et voilà j ai eu un erreur lors de la saisit
voilà l execution + probléme
********Menu***********
1.Remplir un tableau de clients
2.Afficher la liste des clients
3.Trier la liste des clients
4.Ajouter un client
5.Supprimer un client et décaler le reste à gauche
6.Quitter
******* ******************
entrez votre choix SVP ?
1
Entrer le nom du client ?
sdsd
Entrer le prenom du client ?
sdsd
Entrer l'age du client ?
23
probléme
Exception in thread "main" java.lang.NullPointerException
at Client.remplir(Client.java:26)
at Main.main(Main.java:20)
svpppppppppp aide moi c urgent
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
4 déc. 2008 à 16:35
4 déc. 2008 à 16:35
Salut,
Repars de ta version principale. C'est tout simple l'erreur. Tu affiches les 100 clients dans ta méthode surchargée toString, et ce même si tu n'as rempli qu'un client. Du coup, ton code va vouloir afficher un NULL, d'où l'erreur d'exception. Il faut donc que tu gères une variable qui contient le nombre de clients remplis ;)
Cdlt
Repars de ta version principale. C'est tout simple l'erreur. Tu affiches les 100 clients dans ta méthode surchargée toString, et ce même si tu n'as rempli qu'un client. Du coup, ton code va vouloir afficher un NULL, d'où l'erreur d'exception. Il faut donc que tu gères une variable qui contient le nombre de clients remplis ;)
Cdlt
oui merci c est résolut :)
j ai utilisé une variable:
static int cmpt=0; qui s'incremente lors de la saisit
dans la methodes affichage j ai fais comme suite
public static void Afficher(){
for (int i = 0; i <cmpt; i++) {
System.out.println(tab[i].toString());
}
merci pour votre aide :)
j ai utilisé une variable:
static int cmpt=0; qui s'incremente lors de la saisit
dans la methodes affichage j ai fais comme suite
public static void Afficher(){
for (int i = 0; i <cmpt; i++) {
System.out.println(tab[i].toString());
}
merci pour votre aide :)
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
4 déc. 2008 à 17:02
4 déc. 2008 à 17:02
Exactement ce qu'il fallait faire. Bien joué ;)
Par contre, juste une petite remarque, évite les variables globales. Il vaut mieux passer ton tableau et la taille en paramètre dans tes fonctions ;)
Cdlt
Par contre, juste une petite remarque, évite les variables globales. Il vaut mieux passer ton tableau et la taille en paramètre dans tes fonctions ;)
Cdlt
merci pour l info mais tu peux m expliquer svp pourquoi c mieux de les donner en paramétre des fonctions au lieu de les declarer globale
???
???
j ai cru que j'ai réparer la methode afficher mais c le contraire il n y a aucun exception mais il y a une repétition saund j entre 3 clients et je veux afficher elle m afficher le dernier client 3 fois dans la methode afficher voilà le code
import java.util.Scanner;
public class Client{
static String Nom;
static String Prenom;
static int age;
static int cmpt=0;
static Client []tab=new Client[100];
public Client(String nom, String prenom, int age) {
Nom = nom;
Prenom = prenom;
this.age = age;
}
public Client() {
}
public static void remplir(){
Scanner in=new Scanner(System.in);
char car =' ';
int i=0;
do{
System.out.println("Entrer le nom du client ?");
Nom=in.next();
System.out.println("Entrer le prenom du client ?");
Prenom=in.next();
System.out.println("Entrer l'age du client ?");
age=in.nextInt();
Client c=new Client(Nom,Prenom,age);
tab[i]=new Client(Nom,Prenom,age);
i++;
cmpt++;
System.out.println("voulez vous continuez à saisir ?");
car=in.next().charAt(0);
}while(car!='n' && car!='N');
}
public String toString(){
return "************Client************\rNom Client : "+Nom+"\r Prenom Client : "+Prenom+"\r Age Client : "+age+"\r*******************************";
}
public static void Afficher(){
for (int i = 0; i <cmpt; i++) {
System.out.println(tab[i].toString());
}
}
svp il faut que je rend ce tp dm1 inchalah :s
import java.util.Scanner;
public class Client{
static String Nom;
static String Prenom;
static int age;
static int cmpt=0;
static Client []tab=new Client[100];
public Client(String nom, String prenom, int age) {
Nom = nom;
Prenom = prenom;
this.age = age;
}
public Client() {
}
public static void remplir(){
Scanner in=new Scanner(System.in);
char car =' ';
int i=0;
do{
System.out.println("Entrer le nom du client ?");
Nom=in.next();
System.out.println("Entrer le prenom du client ?");
Prenom=in.next();
System.out.println("Entrer l'age du client ?");
age=in.nextInt();
Client c=new Client(Nom,Prenom,age);
tab[i]=new Client(Nom,Prenom,age);
i++;
cmpt++;
System.out.println("voulez vous continuez à saisir ?");
car=in.next().charAt(0);
}while(car!='n' && car!='N');
}
public String toString(){
return "************Client************\rNom Client : "+Nom+"\r Prenom Client : "+Prenom+"\r Age Client : "+age+"\r*******************************";
}
public static void Afficher(){
for (int i = 0; i <cmpt; i++) {
System.out.println(tab[i].toString());
}
}
svp il faut que je rend ce tp dm1 inchalah :s
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
4 déc. 2008 à 23:05
4 déc. 2008 à 23:05
Salut,
Désolé pour le temps de réponse. Pour les variables globales, oublie j'ai mal lu. Je pensais que tu avais mis tes variables en global alors que ce sont des attributs.
Sinon ton problème est que tu as mis tes variables nom age prenom en static. Tu devrais enlever le static et je pense que ça marchera mieux. Par contre ton modèle est spécial. Normalement ton tableau de clients aurait dû être dans le main, enfin bon. Et n'oublie pas de prendre l'habitude de mettre tes attributs en private.
Cdlt
Désolé pour le temps de réponse. Pour les variables globales, oublie j'ai mal lu. Je pensais que tu avais mis tes variables en global alors que ce sont des attributs.
Sinon ton problème est que tu as mis tes variables nom age prenom en static. Tu devrais enlever le static et je pense que ça marchera mieux. Par contre ton modèle est spécial. Normalement ton tableau de clients aurait dû être dans le main, enfin bon. Et n'oublie pas de prendre l'habitude de mettre tes attributs en private.
Cdlt
3 déc. 2008 à 21:10
Exception in thread "main" java.lang.NullPointerException
at Client.Afficher(Client.java:38)
at Main.main(Main.java:21)