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

  • Votes
  • Date
  • Date décroissante
  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...
    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());}
      }
      }
      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
        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
          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();
            }
            }
        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();
          }
          }
          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().
        3. j'y comprends toujours rien, je suis nul en JAVA

          peut tu me corriger l'ensemble de mon programme

          Merci beaucoup
          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");
            	}
            }