Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1647 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Problème lors de la compilation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème lors de la compilation

n°1335557
grafvon
Posté le 30-03-2006 à 14:53:20  profilanswer
 

Bonjour,
 
Comme j'ai une connaissance de base en java, je n'arrive pas à comprendre les erreurs de compilation.
J'essaye de faire un exercice qui fait la lecture d'un fichier texte comme ceci:
 

Code :
  1. import java.io.*;
  2. import java.util.*;
  3. class Personnes
  4. {
  5. String nom, prenom;
  6. Personnes(String nom, String prenom)
  7. {
  8.  this.nom  = nom;
  9.  this.prenom = prenom;
  10. }
  11. static Personnes traiter(String ligne, int numLigne)
  12. {
  13.  String nom, prenom;
  14.  StringTokenizer st = new StringTokenizer(ligne);
  15.  nom = st.nextToken();
  16.  prenom = st.nextToken();
  17.    return new Personnes("EP"+numLigne, nom, prenom);
  18. }
  19.  public String toString()
  20. {
  21.  // dans une chaîne  \n représente un passage à ligne
  22.  return "\nLa personne s'appele"+nom+" "+prenom;
  23. }
  24. }


 
Il n'est pas encore fini, il y a des choses qui manquent mais ça me fait déjà des erreurs comme :
 
cannot find symbol constructor Personnes[java.lang.String,java.lang.String,java.lang.String]
à la ligne 22.
 
Merci beaucoup

mood
Publicité
Posté le 30-03-2006 à 14:53:20  profilanswer
 

n°1335564
Mario_
Vive le pingouiboulga !!
Posté le 30-03-2006 à 14:58:51  profilanswer
 

A la ligne 22 tu appelles le constructeur Personnes (soit dit en passant, je trouve que le nom est mal trouvé, il semblerait que la classe concerne une seule personne, pas des... enfin, passons) avec trois paramètres de type String (dont le premier "EP"+numLigne que je comprends pas tout à fait [:canaille]) alors que le seul constructeur non hérité de la classe objet que tu as créé est Personnes(String nom, String prenom).
Il sait pas où aller chercher ce constructeur, tout simplement :spamafote:
 
edit : Ah, j'ai pigé pour "EP", c'est un codage qui a dû foirer au copier-coller.

Message cité 1 fois
Message édité par Mario_ le 30-03-2006 à 14:59:44

---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
n°1335567
masklinn
í dag viðrar vel til loftárása
Posté le 30-03-2006 à 15:01:28  profilanswer
 

grafvon a écrit :

cannot find symbol constructor Personnes[java.lang.String,java.lang.String,java.lang.String]
à la ligne 22.
 
Merci beaucoup


Tu lui demandes un constructeur prenant 3 paramètres de type String, le seul et unique constructeur que tu ais créé n'en prend que deux.
(franchement, suffit de lire le message d'erreur quoi [:pingouino])

Mario_ a écrit :

edit : Ah, j'ai pigé pour "EP", c'est un codage qui a dû foirer au copier-coller.


Say un jocebug en fait [:aloy]


Message édité par masklinn le 30-03-2006 à 15:02:00

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1335569
Mario_
Vive le pingouiboulga !!
Posté le 30-03-2006 à 15:02:49  profilanswer
 

Tout s'explique [:romf]


---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
n°1335633
grafvon
Posté le 30-03-2006 à 15:54:25  profilanswer
 

ça marche merci beaucoup

n°1335689
grafvon
Posté le 30-03-2006 à 17:11:28  profilanswer
 

puisque j'essaye de m'entrainer, j'essaye de faire des test d'affichage sauf que là je fais un petit calcul de somme de salaire dans la procédure tout en bas mais il n'y a rien qui s'affiche.
 

Code :
  1. import java.io.*;
  2. import java.util.*;
  3. class Personnes
  4. {
  5. String nom, prenom,adresse;
  6. int salaire,telephone;
  7. Personnes(String prenom, String nom,String adresse,int salaire,int telephone)
  8. {
  9.  this.nom  = nom;
  10.  this.prenom = prenom;
  11.  this.adresse = adresse;
  12.  this.salaire = salaire;
  13.  this.telephone = telephone;
  14. }
  15. static Personnes traiter(String ligne, int numLigne)
  16. {
  17.  String nom, prenom,adresse;
  18.  int salaire,telephone;
  19.  StringTokenizer st = new StringTokenizer(ligne);
  20.  prenom = st.nextToken();
  21.  nom = st.nextToken();
  22.  adresse = st.nextToken();
  23.  salaire = Integer.parseInt(st.nextToken());
  24.  telephone = Integer.parseInt(st.nextToken());
  25.    return new Personnes(prenom,nom,adresse,salaire,telephone);
  26. }
  27.  public String toString()
  28. {
  29.  // dans une chaîne  \n représente un passage à ligne
  30.  return "\nLa personne s'appele "+prenom+" "+nom+" et habite "+adresse+
  31.  ".\n Il a un salaire de "+salaire+" CHF et son n° de tel est : "+telephone;
  32. }
  33. }
  34. class CreationListePersonnes
  35. {
  36. static final int NB_PERSONNES= 8;
  37. static Personnes[] créationListePersonnes(String nomFichier)
  38. {
  39.  Personnes[] liste = new Personnes[NB_PERSONNES];
  40.  try
  41.  {
  42.   String ligne;
  43.   int numLigne = 1;
  44.   BufferedReader fichier = new BufferedReader(new FileReader(nomFichier));
  45.   ligne = fichier.readLine();
  46.   while ( ligne != null )
  47.   {
  48.    liste[numLigne-1] = Personnes.traiter(ligne, numLigne);
  49.    numLigne++;
  50.    ligne = fichier.readLine();
  51.   }
  52.  }
  53.  catch (IOException ioe)
  54.  {
  55.   System.out.println(ioe);
  56.  }
  57.  return liste;
  58. }
  59. }
  60. class TestCreationListePersonnes
  61. {
  62. public static void main(String[] args)
  63. {
  64.  System.out.println("Liste des personnes" );
  65.  Personnes[] listePersonnes = CreationListePersonnes.créationListePersonnes("LiistePersonnes.txt" );
  66.  for ( int i = 0; i < listePersonnes .length; i++ )
  67.   System.out.println(listePersonnes [i]);
  68.    System.out.println();
  69. }
  70. static void SommeSalaire(Personnes[] listePersonnes)
  71. {
  72.  int sommesal;
  73.  sommesal = 0;
  74.  for (int i = 0; i < listePersonnes .length; i++)
  75.     sommesal = sommesal + listePersonnes[i].salaire;
  76.     System.out.println(sommesal);
  77.     System.out.println();
  78. }
  79. }


 
Merci beaucoup

n°1335691
Mario_
Vive le pingouiboulga !!
Posté le 30-03-2006 à 17:14:26  profilanswer
 

Normal, pour l'afficher, faut que tu passes dedans :d
Elle est pas appelée depuis le main :o


---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
n°1335756
grafvon
Posté le 30-03-2006 à 18:21:56  profilanswer
 

Je l'ai appelé depuis le main mais ça na pas marché. Je vous envois comment j'ai fais. J'envois juste apartir de la class de test
 

Code :
  1. class TestCreationListePersonnes
  2. {
  3. public static void main(String[] args)
  4. {
  5.  System.out.println("Liste des personnes" );
  6.  Personnes[] listePersonnes = CreationListePersonnes.créationListePersonnes("LiistePersonnes.txt" );
  7.  for ( int i = 0; i < listePersonnes .length; i++ )
  8.   System.out.println(listePersonnes [i]);
  9.    System.out.println();
  10.    SommeSalaire(sommesal);
  11. }
  12. static void SommeSalaire(sommesal)
  13. {
  14.  int sommesal;
  15.  sommesal = 0;
  16.  for (int i = 0; i < listePersonnes .length; i++)
  17.     sommesal = sommesal + listePersonnes[i].salaire;
  18.     return sommesal;
  19. }
  20. }


 
ça me fait deux erreurs :
 
<identifier> expected à la ligne 14
')' expected  à la ligne 22
 
Merci beaucoup


Message édité par grafvon le 30-03-2006 à 18:22:48
n°1335760
masklinn
í dag viðrar vel til loftárása
Posté le 30-03-2006 à 18:24:10  profilanswer
 

Ben tu les résous [:klem3i1]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1335838
Mario_
Vive le pingouiboulga !!
Posté le 30-03-2006 à 20:45:43  profilanswer
 

Ca fait pas d'erreur à la ligne 11 [:opus dei]
 
[:psychokwak]
Sérieux, quel est ton niveau en Java et en prog ? Parce que là il y a des soucis au niveau de base quand même :/

mood
Publicité
Posté le 30-03-2006 à 20:45:43  profilanswer
 

n°1335858
grafvon
Posté le 30-03-2006 à 20:54:52  profilanswer
 

j'ai résolu le problème, c'est bon. Mon niveau en prog je dirai qu'il est bas car j'ai jamais fais de la programmation objet, j'ai toujours fais de la programmation normale qui n'est pas objet. C'est pour ça que j'ai de la peine en java.

n°1335898
moi23372
Posté le 30-03-2006 à 21:51:10  profilanswer
 

les problèmes que tu as ne vienne pas que tu n'a jamais fait de POO, c'est que tout simplement tu n'as aucune logique et que tu fabriques des programmes en bricolant sans savoir ce que tu fais. Maitrise d'abord des langages comme le C a fond et après tu pourras te taper le JAVA et le .NET qui sont purement que de l'orienté objet.

n°1335923
masklinn
í dag viðrar vel til loftárása
Posté le 30-03-2006 à 22:40:54  profilanswer
 

moi23372 a écrit :

Maitrise d'abord des langages comme le C a fond et après tu pourras te taper le JAVA et le .NET qui sont purement que de l'orienté objet.


Lol [:sinorz-]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1335979
esox_ch
Posté le 31-03-2006 à 00:07:15  profilanswer
 

moi23372 a écrit :

les problèmes que tu as ne vienne pas que tu n'a jamais fait de POO, c'est que tout simplement tu n'as aucune logique et que tu fabriques des programmes en bricolant sans savoir ce que tu fais. Maitrise d'abord des langages comme le C a fond et après tu pourras te taper le JAVA et le .NET qui sont purement que de l'orienté objet.


 
Ou : Apprenez a vous deplacer a dos d'ane avant d'aller en BMW, c'est le chemin logique de l'evolution [:petrus75]


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1335984
masklinn
í dag viðrar vel til loftárása
Posté le 31-03-2006 à 00:22:04  profilanswer
 

esox_ch a écrit :

Ou : Apprenez a vous deplacer a dos d'ane avant d'aller en BMW, c'est le chemin logique de l'evolution [:petrus75]


Ouais enfin là c'est pas un âne, c'est plutôt un tigre du bengale qui tente de se baffrer tes joyeuses dès que tu fais pas gaffe [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1339378
brojnev
Posté le 05-04-2006 à 06:59:24  profilanswer
 


Appelle ta classe Personne  sans s car cela concerne 1 et 1 seule personne.  Mario_ te l'a dit !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Problème lors de la compilation

 

Sujets relatifs
problème de compilation avec eclipse[Rayzolu] Problème de linkage à la compilation
probleme compilation Qtproblème à la compilation MFC
Problème compilation dev-c++problème de liens à la compilation wxWidgets
Probleme de Compilation C++problème compilation fortran-Lahey!!!
Problème de compilation / liaison avec une librairie[hibernate + eclipse] probleme de mapping et de compilation
Plus de sujets relatifs à : Problème lors de la compilation


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR