Problème dans java [Résolu/Fermé]

Signaler
Messages postés
134
Date d'inscription
mercredi 16 février 2011
Statut
Membre
Dernière intervention
18 avril 2012
-
Messages postés
134
Date d'inscription
mercredi 16 février 2011
Statut
Membre
Dernière intervention
18 avril 2012
-
Bonjour,

Pourquoi j'ai cette erreur ?

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

Merci,

7 réponses

Messages postés
38573
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
27 juillet 2021
1 990
Bonjour

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

public static void main (String arg[])

Vérifie dans ton programme...
Messages postés
134
Date d'inscription
mercredi 16 février 2011
Statut
Membre
Dernière intervention
18 avril 2012

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());}
}
}
Messages postés
38573
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
27 juillet 2021
1 990
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
Messages postés
38573
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
27 juillet 2021
1 990
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
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 858
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();
}
}
Messages postés
134
Date d'inscription
mercredi 16 février 2011
Statut
Membre
Dernière intervention
18 avril 2012

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();
}
}
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 858
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().
Messages postés
134
Date d'inscription
mercredi 16 février 2011
Statut
Membre
Dernière intervention
18 avril 2012

j'y comprends toujours rien, je suis nul en JAVA

peut tu me corriger l'ensemble de mon programme

Merci beaucoup
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 858
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");
	}
}
Messages postés
134
Date d'inscription
mercredi 16 février 2011
Statut
Membre
Dernière intervention
18 avril 2012

Merci ça marche