CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

java besoin d'aide

dali2000
dali2000
Niveau 2
06 décembre 2017 à 21:24:26

Bonsoir a tous .
je veux creer une application en java qui gere un agenda,et je veux implementer une méthode modifierInformation (Personne p) qui, en fonction du nom d’une personne p, modifie les informations de p.
jai essayer dutiliser BufferedReader dans la class test mais ca na pas marche (je crois j'ai mal utiliser :( ) si quelqun peux m"aider ,un mille merci d'avance je suis encore debutante :hap:

admg
admg
Niveau 9
06 décembre 2017 à 22:05:56

Quand tu dis "modifie", tu veux dire dans une base de données ? un fichier ?

Ta fonction modifierInformation() prend en paramètre un object Personne, tu veux trouver la personne qui a le même nom que ton objet "p" et la modifier ? J'ai bien compris ?

dali2000
dali2000
Niveau 2
06 décembre 2017 à 22:52:56

oui,exactement :)

admg
admg
Niveau 9
06 décembre 2017 à 23:16:23

Tu n'as pas répondu à ma première question, c'est plutôt important pour comprendre ce que tu cherches à faire !

Sous quelle forme est ta liste de personnes dans laquelle tu vas chercher "p" ?

dali2000
dali2000
Niveau 2
07 décembre 2017 à 00:52:21

dsl,simple tableau ,pas Array list voici le code :
import java.io.*;
public class Test {
public static void main(String[]args)
{
Personne p =new Personne(" gaultier","jean paul","24 april 1952",02356720);
Personne p1 =new Personne(" Cotillard","Marion","30 September 1975",70566734);
p.toString();
p1.toString();
Personne[ ] tab= new Personne [100];
System.out.println("----------------");
tab[0]=p;
tab[1]=p1;
tab[2]=new Personne("leo","davinchi",00344567);

// private static final BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));
} }
je veux accepter des demandes d'ajout a lagenda entree au clavier (j'ai realiser methode AjoutPersonne) et autre pour modifier les informations de personne existant mais il faut q je verifie qu'il existe. un grand merci pour vos reponses :)

public class Agenda {
private String name;
private int nbrpersonne=0;
Personne []tab ;
public Agenda(String name)
{
this.name=name;

}
public void Afficher() {

for (int i=0;i<nbrpersonne;i++)
{
if(tab[i]!=null)
System.out.println(tab[i]);
}

}
public boolean AjouterPersonne(Personne P)
{
if(nbrpersonne<tab.length)
{
tab[nbrpersonne]=P;
nbrpersonne++;
return true;
}
else return false;
}

public void RechercherPersonne(String nom)
{
for( int i=0;i<nbrpersonne;i++)
{
if(tab[i].getNom()==nom);
{System.out.println(tab[i]);
break;
}
}
if(i=nbrpersonne)
System.out.println("cette personne n'est pas enregistrer "
+ "dans l'agenda, chercher ailleurs");

}
public void ModifierPersonne (Personne P) {
// RechercherPersonne(String P.getNom() );
}
}

Message édité le 07 décembre 2017 à 00:53:42 par dali2000
admg
admg
Niveau 9
07 décembre 2017 à 01:21:33

Oh ok, je vois un peu mieux. Ton Buffer Reader va te permettre de lire une string à la fois, donc il faut que tu fasses quelque chose comme demander le nom, puis le prénom, puis le numéro de téléphone, tu stock ça dans des variables de type String, et ensuite tu crée un objet Personne à partir de ces infos puis tu utilises ta méthode en faisant quelque chose de ce style


public void RechercherPersonne(String nom, String prenom, String date, String tel)
{
boolean found = false;
for( int i=0;i<nbrpersonne;i++)
{
if(tab[i].getNom()==nom);
tab[i].setPrenom(prenom);
tab[i].setDate(date);
tab[i].setTel(tel);
found = true
break;
}
if (!found) AjouterPersonne(new Personne (nom, prenom, date, tel));
}

c'est fait un peu à la va vite alors ne vas pas copier coller ça tel quel mais l'idée est là

dali2000
dali2000
Niveau 2
07 décembre 2017 à 15:51:25

merci bcp pour votre reponse mais j'ai pas bien compris comment j"implemente cette methode dans ma class ,Date est de type int ,tel de type long ,comment les convertir en String ,et surtout comment implementer Buffer ryder dans ma class test,
bien si vous savez aussi comment retouner la date dune personne dans laffichage sous un format bien determine exp:12/5/2009.
Merci.

dali2000
dali2000
Niveau 2
07 décembre 2017 à 16:27:32

ah ok,je viens debien comprendre mnt , j"ai bien insrer ca dans ma code ,il me reste comment implementer bufferreader dans ma class test ?? :question:

dali2000
dali2000
Niveau 2
07 décembre 2017 à 17:02:08

daccord mnt j"ai resolu le probleme avec scanner que je le connais mieux mais jai une erreur q je narrive pas a resoudre dans la methode ajouter personne.
j vais publier le code pr vous voyez lerreur et m'aider a resoudre(please :-( )

import java.util.Scanner;
public class Agenda {
private String name;
private int nbrpersonne=0;
Personne []tab ;

public Agenda(String name)
{
this.name=name;
nbrpersonne++;

}
public void Afficher() {

for (int i=0;i<nbrpersonne;i++)
{
if(tab[i]!=null)
System.out.println(tab[i]);
}

}
public boolean AjouterPersonne(Personne P)
{
if(nbrpersonne<tab.length)
{
tab[nbrpersonne]=P;
nbrpersonne++;
return true;
}
else return false;
}
public void MofifierPersonne(String nom, String prenom, String date, int tel)
{
boolean found = false;
for( int i=0;i<nbrpersonne;i++)
{
if(tab[i].getNom()==nom);
tab[i].setPrenom(prenom);
tab[i].setNaissance(date);
tab[i].setTel(tel);
found = true;
break;
}
if (!found) AjouterPersonne(new Personne (prenom,nom,tel));
}

public void RechercherPersonne(String nom)
{

for( int i=0;i<nbrpersonne;i++)
{
if(tab[i].getNom().toLowerCase()==nom.toLowerCase());
{System.out.println(tab[i]);
break;
}

if(i=nbrpersonne) {
System.out.println("cette personne n'est pas enregistrer "
+ "dans l'agenda, chercher ailleurs");}
}
}
}
et voici la class Test
import java.util.Scanner;
import java.io.*;
public class Test {
public static void main(String[]args)
{
Personne p =new Personne(" gaultier","jean paul","24 april 1952",02356720);
Personne p1 =new Personne(" Cotillard","Marion","30 September 1975",70566734);
p.toString();
p1.toString();
Personne[ ] tab= new Personne [100];
System.out.println("----------------");
tab[0]=p;
tab[1]=p1;
tab[2]=new Personne("leo","davinchi",00344567);
Scanner sc=new Scanner(System.in);
System.out.println("Entrer le Prenom :");
String prenom=sc.nextLine();
System.out.println("Entrer le Nom :");
String nom=sc.nextLine();
System.out.println("Entrer le numero de telephone :");
int tel=sc.nextInt();
AjouterPersonne(new Personne(prenom,nom,tel));

}}

admg
admg
Niveau 9
07 décembre 2017 à 20:24:58

Quel est le message d'erreur?

dali2000
dali2000
Niveau 2
07 décembre 2017 à 21:13:37

le dernier instruction if dans la cmethode rechercher personne(msg:incompatibilite de type): if(i=nbrpersonne) {//nbrpersonne erreur
System.out.println("cette personne n'est pas enregistrer "
+ "dans l'agenda, chercher ailleurs");}
}
et lautre dans la classe test appel de methode Ajouter personne(msg:methode pas definie pour la classe test)

admg
admg
Niveau 9
07 décembre 2017 à 22:10:09

Le 07 décembre 2017 à 21:13:37 dali2000 a écrit :
le dernier instruction if dans la cmethode rechercher personne(msg:incompatibilite de type): if(i=nbrpersonne) {//nbrpersonne erreur
System.out.println("cette personne n'est pas enregistrer "
+ "dans l'agenda, chercher ailleurs");}
}
et lautre dans la classe test appel de methode Ajouter personne(msg:methode pas definie pour la classe test)

possiblement
if (i=nbPersonne)
devrait être
if (i==nbPersonne)
=> double égal pour une comparaison, le simple est pour une affectation

ensuite, ta méthode Ajouterpersonne fait partie de la classe Agendan donc tu dois faire quelque chose comme


Agenda agenda = new Agenda(*****);
Personne p = new Personne(****);
agenda.ajouterPersonne(p);
Message édité le 07 décembre 2017 à 22:11:18 par admg
dali2000
dali2000
Niveau 2
07 décembre 2017 à 23:06:44

(i==nbrpersonne) merci admg mais ici lerreur persiste avec noveau message (Unreachable code)

Message édité le 07 décembre 2017 à 23:07:19 par dali2000
admg
admg
Niveau 9
07 décembre 2017 à 23:10:00

ça pourrait être à cause de ça :


if(tab[i].getNom().toLowerCase()==nom.toLowerCase());
{System.out.println(tab[i]);
break;
}

tu as un point virgule après ton if, donc c'est considéré comme une instruction, ensuite tu arrives à "break" et donc la suite du code n'est pas exécutée, d'où le "unreachable code"

dali2000
dali2000
Niveau 2
12 décembre 2017 à 01:27:34

Bonsoir admg merci pr vos reponses ,ce morceau de code ne veus pas marcher meme exemple audessus
public void MofifierPersonne(Personne p)
{
boolean found = false;
for( int i=0;i<nbrpersonne;i++)
{
if(tab[i].getNom()==p.getNom()) {
tab[i].setPrenom(p.getPrenom());
tab[i].setNaissance(p.getNaissance());
tab[i].setTel(p.getTel());
found = true;
break;

if (found) AjouterPersonne( Personne p);
}}

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment