Problème dans java

Résolu
Bonjour,

Pourquoi j'ai cette erreur ?

"The system couldn't find a suitable main method"

Merci,

7 réponses

  1. Modérateur
    Bonjour

    Un programme débute toujours par une méthode "main"

    public static void main (String arg[])

    Vérifie dans ton programme...
    0
    1. voici ma formule :

      /**
      * @(#)La_fonction_ajoute.java
      *
      * La_fonction_ajoute application
      *
      * @author
      * @version 1.00 2011/12/16
      */

      public class La_fonction_ajoute {

      public static void ajoute(String nom, String prénom, String tél)
      {
      try{
      FileWriter fichierRépertoire = new FileWriter("c:\\Répertoire.txt",true);
      fichierRépertoire.write(nom+"\r\n");
      fichierRépertoire.write(prénom="\r\n");
      fichierRépertoire.write(tél+"\r\n");
      fichierRépertoire.close();
      } catch (Exception e) {System.out.println(e.getMessage());}
      }
      }
      0
      1. Modérateur
        Essaye comme ça

        /**
        * @(#)La_fonction_ajoute.java
        *
        * La_fonction_ajoute application
        *
        * @author
        * @version 1.00 2011/12/16
        */

        public class La_fonction_ajoute {

        public static void main (String args[]){

        La_fonction_ajoute.ajoute("Un Nom", "Un Prénom", "Un Tél");

        }

        public static void ajoute(String nom, String prénom, String tél)
        {
        try{
        FileWriter fichierRépertoire = new FileWriter("c:\\Répertoire.txt",true);
        fichierRépertoire.write(nom+"\r\n");
        fichierRépertoire.write(prénom="\r\n");
        fichierRépertoire.write(tél+"\r\n");
        fichierRépertoire.close();
        } catch (Exception e) {System.out.println(e.getMessage());}
        }
        }

        Chouba, Modo CCM
        Rhâââgnagna
        0
        1. Modérateur
          autre solution (celle que je préfère)

          /**
          * @(#)La_fonction_ajoute.java
          *
          * La_fonction_ajoute application
          *
          * @author
          * @version 1.00 2011/12/16
          */

          public class La_fonction_ajoute {

          public static void main (String args[]){

          La_fonction_ajoute laFonction = new La_fonction_ajoute();

          laFonction.ajoute("Un Nom", "Un Prénom", "Un Tél");

          }

          public void ajoute(String nom, String prénom, String tél)
          {
          try{
          FileWriter fichierRépertoire = new FileWriter("c:\\Répertoire.txt",true);
          fichierRépertoire.write(nom+"\r\n");
          fichierRépertoire.write(prénom="\r\n");
          fichierRépertoire.write(tél+"\r\n");
          fichierRépertoire.close();
          } catch (Exception e) {System.out.println(e.getMessage());}
          }
          }

          Chouba, Modo CCM
          Rhâââgnagna
          0
          1. Modérateur
            Je pense qu'il vaut mieux mettre le FileWriter dans le constructeur, sinon autant garder la méthode static. De plus "\r\n" c'est pas très joli...

            class Fichier
            {
            protected final FileWriter fw;
            protected static final String endl = System.getProperty("line.separator");
            
            public static void main (String...args)
            {
            	Fichier fichier = new Fichier("c:\\Répertoire.txt");
            
            	fichier.ajoute("Un Nom", "Un Prénom", "Un Tél");
            
            	fichier.fermer();
            }
            
            public Fichier(String fileName)
            {
            	fw = new FileWriter(,true);
            }
            
            public void ajoute(String nom, String prénom, String tél)
            {
            	try
            	{
            		fw.write(nom+endl);
            		fw.write(prénom+endl);
            		fw.write(tél+endl);
            		fichierRépertoire.close();
            	} 
            	catch (Exception e)
            	{
            		System.out.println(e);
            	}
            }
            
            public void fermer()
            {
            	fw.close();
            }
            }
            0
        2. Bonjour,

          J'ai 3 erreurs dans mon programme.

          Si quelqu'un peut me donner une solution

          merci

          3 erreurs...

          cannot find symbol class FileWriter ligne 3
          cannot find symbol class FileWriter ligne 17
          cannot find symbol variable fichierRépertoire ligne 27
          ____________________________________________________________

          class Fichier
          {
          protected final FileWriter fw;
          protected static final String endl = System.getProperty("line.separator");

          public static void main (String...args)
          {
          Fichier fichier = new Fichier("c:\\Répertoire.txt");

          fichier.ajoute("Un Nom", "Un Prénom", "Un Tél");

          fichier.fermer();
          }

          public Fichier(String fileName)
          {
          fw = new FileWriter(fileName,true);
          }

          public void ajoute(String nom, String prénom, String tél)
          {
          try
          {
          fw.write(nom+endl);
          fw.write(prénom+endl);
          fw.write(tél+endl);
          fichierRépertoire.close();
          }
          catch (Exception e)
          {
          System.out.println(e);
          }
          }

          public void fermer()
          {
          fw.close();
          }
          }
          0
          1. Modérateur
            Pour ton FileWriter c'est tout simplement qu'il te manque un import java.io.FileWriter

            fichierRépertoire.close(); c'est une étourderie de ma part, il faut le supprimer, j'ai remplacé fichierRépertoire par fw et le close se fait dans la méthode fermer().
            0
        3. j'y comprends toujours rien, je suis nul en JAVA

          peut tu me corriger l'ensemble de mon programme

          Merci beaucoup
          0
          1. Modérateur
            Ok, alors je reprends ton premier code, je ne fais aucune amélioration, je corrige juste les 3 bugs.

            1) "The system couldn't find a suitable main method" : je rajoute une méthode main
            2) "cannot find symbol class FileWriter" : je rajoute un import java.io.FileWriter;
            3) Le prénom n'apparaît pas dans le fichier : je modifie prénom="\r\n" par prénom+"\r\n"

            import java.io.FileWriter;
            
            public class La_fonction_ajoute 
            {
            	public static void ajoute(String nom, String prénom, String tél)
            	{
            		try
            		{
            			FileWriter fichierRépertoire = new FileWriter("c:\\Répertoire.txt",true);
            			fichierRépertoire.write(nom+"\r\n");
            			fichierRépertoire.write(prénom+"\r\n");
            			fichierRépertoire.write(tél+"\r\n");
            			fichierRépertoire.close();
            		}
            		catch (Exception e)
            		{
            			System.out.println(e.getMessage());
            		}
            	}
            	
            	public static void main(String args[])
            	{
            		ajoute("Nom","Prénom","Téléphone");
            	}
            }
            0
        4. Merci ça marche
          0