Carnet d'adresse en java [Résolu]

Messages postés
20
Date d'inscription
mardi 25 janvier 2011
Dernière intervention
17 mars 2017
- - Dernière réponse : toledo9
Messages postés
20
Date d'inscription
mardi 25 janvier 2011
Dernière intervention
17 mars 2017
- 27 janv. 2012 à 18:58
Bonjour,

Je suis débutant en langage Java et j'aimerais faire un petit programme "Carnet d'adresse" :

Fichier de contacts professionnels

Je souhaite créer un fichier qui contient des contacts professionnel en JAVA.

Ce fichier contient :
RS,
Nom,
Prénom
adresse electronique.

Il faudrait que j'écris un programme en java dans lequel

1 - Si la RS existe celui-ci renvoie vraie si cette Rs n'éxite pas elle renvoie faux.

2 - Une fonction ajouter (Rs,nom,prénom,adresse electronique) à condition que celle ci n'éxiste pas dans le fichier.

3 - Une fonction recherche qui me donne d'après le RS le nom prénom adresse eletronique de la personne.

Merci pour la réponse,
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Dernière intervention
17 mai 2018
3
Merci
Bonjour,

Qu'est ce qui te poses problème précisément ?

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de cs_Julien39
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Dernière intervention
17 mai 2018
3
Merci
Je ne peux pas le faire à ta place. Essaye de le faire et quand tu auras une difficulté précise, tu pourras poser des questions.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de cs_Julien39
Messages postés
20
Date d'inscription
mardi 25 janvier 2011
Dernière intervention
17 mars 2017
0
Merci
Oui je sais c'est simple pour celui qui connait java mais moi je suis débutant j'y connais rien du tout.

Comment aborder ce programme ?
Commenter la réponse de toledo9
Messages postés
20
Date d'inscription
mardi 25 janvier 2011
Dernière intervention
17 mars 2017
0
Merci
J'ai des problèmes pour exécuter mon programme en Java.

Comment faire ?

Si possible je voudrais rajouter une fonction supprimer le contact.

Total : 5 Codes

Merci pour l'aide,



1er code : Pas de probleme me semble t-il ?

import java.io.*;
public class Main {

/** Creates a new instance of Main */
public Main() {
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException,ClassNotFoundException{
int choix;
GlobalPersonne c = new GlobalPersonne();
Fichier f=new Fichier();
if(f.ouvrir("lecture"))
{
c=f.lire();
f.fermer();
}


do
{
System.out.println("\n");
choix=menu();
switch(choix)
{
case 1 : c.ajouterPersonne();
break;
case 2 : c.rechercherPersonne();
break;
case 3 : c.afficherListe();
break;
case 4 : f.ouvrir("ecriture");
f.ecrire(c);
f.fermer();
System.out.println("fichier sauvegarder!");
break;
case 5 : System.exit(0);
break;

}
}while(choix!=5);
}
/**menu vers les differentes partie du programme*/
public static int menu()
{

int choix;
System.out.println("MENU PRINCIPAL");
System.out.println("--------------");
System.out.println("1.Ajouter une personne");
System.out.println("2.Rechercher une personne");
System.out.println("3.Afficher la liste");
System.out.println("4.Sauvegarder");
System.out.println("5.Sortir");
System.out.println("--------------");
System.out.print("votre choix : ");
choix=Lire.i();
return choix;
}

}

2eme code : Fichier d'écriture /

import java.io.*;
public class Fichier {

/** Creates a new instance of Fichier */
private ObjectOutputStream fW;
private ObjectInputStream fR;
private String nomDeFichier="Fichier.dat";
private char mode;
public Fichier() {

}
/**
* ouverture du fichier:
* fait par les constructeurs
* FileInputStream etObjectInputStream
* ecriture du fichier
* fait par les constructeurs
* FileOutputStreametObjectOutputStream
*/
public boolean ouvrir(String s)throws IOException
{
try
{
mode =(s.toUpperCase()).charAt(0);
if(mode=='R'||mode=='L')
fR=new ObjectInputStream(new FileInputStream(nomDeFichier));
else if(mode=='W'||mode=='E')
fW=new ObjectOutputStream(new FileOutputStream(nomDeFichier));
return true;
}
catch( IOException e)
{
return false;
}
}
public void ecrire(GlobalPersonne tmp) throws IOException
{
if(tmp!=null)fW.writeObject(tmp);
}
public GlobalPersonne lire()throws IOException,ClassNotFoundException
{
GlobalPersonne tmp=( GlobalPersonne)fR.readObject();
return tmp;
}
public void fermer()throws IOException
{
if(mode=='R'||mode=='L')
fR.close();
else if(mode=='W'||mode=='E')
fW.close();
}
}

3eme code :

import java.util.*;
import java.io.*;
public class GlobalPersonne implements Serializable {

private Vector listePersonne;

public GlobalPersonne() {
listePersonne=new Vector();

}
public void ajouterPersonne()
{
listePersonne.addElement(new Personne());


}
public void rechercherPersonne()
{
String verifNom;
String verifPrenom;
String catchNom;
String catchPrenom;
int size;
int i;
int present=0;
Personne temp;
System.out.println("entrer le nom : ");
verifNom=Lire.S();
System.out.println("entrer le prenom : ");
verifPrenom=Lire.S();
size=listePersonne.size();
/*la boucle suivante me permet de verifier le nom et le prenom de la*/
/*personne rechercher*/
for(i=0;i<size;i++)
{
temp=(Personne)listePersonne.elementAt(i);//cast
catchNom=temp.envoyerNom();//recupere le nom de la classe personne
catchPrenom=temp.envoyerPrenom();//recupere le prenom de la classe personne
if((verifNom.equals(catchNom))&&(verifPrenom.equals(catchPrenom)))
{
present++;
//incremente si nom et prenom egale
temp.afficherPersonne();
}

}
if(present==0)
System.out.println("La personne n'est pas presente dans la liste !");


}
public void afficherListe()
{
int i;

int size;
Personne temp;
size=listePersonne.size();
if(size==0)
System.out.println("Liste vide !");
else
{
System.out.print("\n");

for(i=0;i<size;i++)
{
temp=(Personne)listePersonne.elementAt(i);
temp.afficherPersonne();
}
}

}

[b]FAIRE une RECHERCHE sur RS -
résultat donne( le nom prenom et mail de la personne) /b

4eme code : Fonction lire

import java.io.*;
public class Lire
{
public static String S() // Lire un String
{
String tmp = "";
char C='\0';
try {
while ((C=(char) System.in.read()) !='\n')
{
if (C !'\r') tmp tmp+C;

}
}
catch (IOException e)
{
System.out.println("Erreur de frappe");
System.exit(0);
}
return tmp;
} // fin de S()

public static byte b() // Lire un entier byte
{
byte x=0;
try {
x=Byte.parseByte(S());
}
catch (NumberFormatException e) {
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}

public static short s() // Lire un entier short
{
short x=0;
try {
x=Short.parseShort(S());
}
catch (NumberFormatException e) {
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}

public static int i() // Lire un entier
{
int x=0;
try {
x=Integer.parseInt(S());
}
catch (NumberFormatException e) {
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}

public static long l() // Lire un entier long
{
long x=0;
try {
x=Integer.parseInt(S());
}
catch (NumberFormatException e) {
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}

public static double d() // Lire un double
{
double x=0.0;
try {
x=Double.valueOf(S()).doubleValue();
}
catch (NumberFormatException e) {
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}

public static float f() // Lire un float
{
float x=0.0f;
try {
x=Double.valueOf(S()).floatValue();
}
catch (NumberFormatException e)
{
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}

public static char c() // Lire un caractere
{
String tmp=S();
if (tmp.length()==0)
return '\n';
else
{
return tmp.charAt(0);
}
}
}

5eme code

mport java.io.*;
public class Personne implements Serializable{
private String rs, nom, prenom, mail;
/**le constructeur me permet d'initialiser mes variables definnissant
*ma classe personne*/
public Personne() {
System.out.println("RS : ");
rs=Lire.S();
System.out.println("Nom : ");
nom=Lire.S();
System.out.println("Prenom : ");
prenom=Lire.S();
System.out.println("Mail : ");
mail=Lire.S();
}
public void afficherPersonne()
{
System.out.println(rs+"/"+nom+"/"+prenom+"/"+mail);
}
public String envoyerNom()
{
return nom;
}
public String envoyerPrenom()
{
return prenom;
}
}

[b]Problème n'affiche pas RS, Nom, Prenom, Mail
J'aimerais que le fichier.txt soit plus lisible au final/b
Commenter la réponse de toledo9

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.