Pb exercice Java (poo)
Résolu/Fermé
A voir également:
- Exercice java poo
- Java apk - Télécharger - Langages
- Telecharger java - Télécharger - Langages
- Java heap space ✓ - Forum Java
- Jeux java itel - Forum Mobile
11 réponses
c-moi
Messages postés
81
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
6 juillet 2011
10
24 oct. 2007 à 11:20
24 oct. 2007 à 11:20
Bonjour,
Dans ton main, je te conseille de créer des "Livre" avec un nom d'auteur et de titre différent.
Qui aurait l'idée de s'appeler "auteur" et de nommer son livre "titre" ? Tu peux mettre "toto" en auteur et "Toto au Pérou" en titre par exemple ;-)
Est ce que c'est ton premier langage de programmation ? Il faut bien faire attention à la notion de variable et de donnée membre.
Regarde l'accesseur pour l'auteur :
Ici, "auteur" correspond à la donnée membre de l'objet dont la méthode "getAuteur()" est appelée. Typiquement, on ne peut pas accéder directement au contenu de "auteur" (regarde le "private" dans la déclaration de ta classe).
Ainsi, tu ne peux pas écrire "Livre1.auteur" car ce n'est pas une donnée publique. C'est pour cela que tu dois appeler l'accesseur "getAuteur".
Concernant les accesseurs que tu as écris...
Un accesseur permet comme son nom l'indique d'accéder à une donnée membre.
"Livre" correspond à quelle donnée ? Je ne vois pas de membre "Livre" dans la classe "Livre" ^^
NbPages n'est pas une données membre.
Il faut faire attention aux espace : pas d'espace dans un nom, vu que c'est un séparateur pour le compilo :p
Pareil pour le coup de la majuscule et de l'espace.
Une question pour toi : étant donnée un objet "livre1" de type "Livre" et une méthode "getAuteur()" sais tu comment appeler cette méthode par rapport à l'objet "livre1" ?
(Quand je dis objet, je parle d'instance de la classe Livre)
Bon apprentissage,
c-moi
Dans ton main, je te conseille de créer des "Livre" avec un nom d'auteur et de titre différent.
Qui aurait l'idée de s'appeler "auteur" et de nommer son livre "titre" ? Tu peux mettre "toto" en auteur et "Toto au Pérou" en titre par exemple ;-)
Est ce que c'est ton premier langage de programmation ? Il faut bien faire attention à la notion de variable et de donnée membre.
Regarde l'accesseur pour l'auteur :
public String getAuteur() {return auteur;}
Ici, "auteur" correspond à la donnée membre de l'objet dont la méthode "getAuteur()" est appelée. Typiquement, on ne peut pas accéder directement au contenu de "auteur" (regarde le "private" dans la déclaration de ta classe).
Ainsi, tu ne peux pas écrire "Livre1.auteur" car ce n'est pas une donnée publique. C'est pour cela que tu dois appeler l'accesseur "getAuteur".
Concernant les accesseurs que tu as écris...
Un accesseur permet comme son nom l'indique d'accéder à une donnée membre.
public String get Livre() { return Livre; }
"Livre" correspond à quelle donnée ? Je ne vois pas de membre "Livre" dans la classe "Livre" ^^
//Accesseur pour la variable NbPage public int get NbPages() { return NbPages; }
NbPages n'est pas une données membre.
nbPagesoui :)
Il faut faire attention aux espace : pas d'espace dans un nom, vu que c'est un séparateur pour le compilo :p
//Setteur pour la variable auteur String set auteur (String A) { Auteur=A; }
Pareil pour le coup de la majuscule et de l'espace.
Une question pour toi : étant donnée un objet "livre1" de type "Livre" et une méthode "getAuteur()" sais tu comment appeler cette méthode par rapport à l'objet "livre1" ?
(Quand je dis objet, je parle d'instance de la classe Livre)
Bon apprentissage,
c-moi
shui en premiere année "développement informatique", et pour ce qui concerne ta question, g fai quelques pats ds ton programme:
public class livre {
private String auteur, titre;
private int nbpage;
public livre(String auteur,String titre) {
this.auteur=auteur;
this.titre=titre;
}
//constructeur
public livre(int nbpage){
this.nbpage=nbpage;
}
//accesseur
public String getAuteur() {
return auteur;
}
//modificateur
public void setAuteur(String auteur) {
this.auteur = auteur;
}
public String getTitre() {
return titre;
}
public void setTitre(String titre) {
this.titre = titre;
}
//pour la conditon
public void setNbpage(int nbpage) {
if(nbpage>=0){
this.nbpage = nbpage;
}
else{
System.out.println("erreur");
}
}
public int getNbpage() {
return nbpage;
}
}
*************************************************
voilà le main:
import biputil2.*;
public class test_livre {
public static void main(String[] args) {
livre l1=new livre("ali","xx");
livre l2=new livre(24);
l1.setAuteur("ali");
l1.setTitre("xx");
l2.setAuteur("ahmad");
l2.setTitre("yy");
l1.setNbpage(20);
l2.setNbpage(40);
System.out.println(l1.getAuteur()+","+l1.getTitre()+","+l1.getNbpage());
System.out.println(l2.getAuteur()+","+l2.getTitre()+","+l2.getNbpage());
}
}
****************** vaut mieux créer une autre classe qui s'appelle test_livre par exemple, et tu peux l'executer pour voir les resultas bon courage *****************
public class livre {
private String auteur, titre;
private int nbpage;
public livre(String auteur,String titre) {
this.auteur=auteur;
this.titre=titre;
}
//constructeur
public livre(int nbpage){
this.nbpage=nbpage;
}
//accesseur
public String getAuteur() {
return auteur;
}
//modificateur
public void setAuteur(String auteur) {
this.auteur = auteur;
}
public String getTitre() {
return titre;
}
public void setTitre(String titre) {
this.titre = titre;
}
//pour la conditon
public void setNbpage(int nbpage) {
if(nbpage>=0){
this.nbpage = nbpage;
}
else{
System.out.println("erreur");
}
}
public int getNbpage() {
return nbpage;
}
}
*************************************************
voilà le main:
import biputil2.*;
public class test_livre {
public static void main(String[] args) {
livre l1=new livre("ali","xx");
livre l2=new livre(24);
l1.setAuteur("ali");
l1.setTitre("xx");
l2.setAuteur("ahmad");
l2.setTitre("yy");
l1.setNbpage(20);
l2.setNbpage(40);
System.out.println(l1.getAuteur()+","+l1.getTitre()+","+l1.getNbpage());
System.out.println(l2.getAuteur()+","+l2.getTitre()+","+l2.getNbpage());
}
}
****************** vaut mieux créer une autre classe qui s'appelle test_livre par exemple, et tu peux l'executer pour voir les resultas bon courage *****************
salut
je rectifie alors mon travail mais svp j'ai pas trop compris ca
public String getAuteur()
{return auteur;}
Ici, "auteur" correspond à la donnée membre de l'objet dont la méthode "getAuteur()" est appelée. Typiquement, on ne peut pas accéder directement au contenu de "auteur" (regarde le "private" dans la déclaration de ta classe).
Ainsi, tu ne peux pas écrire "Livre1.auteur" car ce n'est pas une donnée publique. C'est pour cela que tu dois appeler l'accesseur "getAuteur".
Concernant les accesseurs que tu as écris...
Un accesseur permet comme son nom l'indique d'accéder à une donnée membre.
ca veut dire que je dois afficher les deux auteurs des deux livres que j'ai creer et qui son ali et adrien je fais ca Livre1.Adrien et Livre2.Ali
j'ai changer tout ce qui est en gras dans mon travail et pour le SetAuteur comment faire si on veut changer les deux nom des deux livres.
Merci beaucoup
class Livre
{
//données membres
private String titre, auteur;
private int nbPages;
//Constructeur
public Livre (String unAuteur, String unTitre)
{
auteur= unAuteur;
titre=unTitre;
}
//accesseur
public String getAuteur()
{return auteur;}
//modificateur
public void setNbPages (int nb)
{
if (nb>0)
nbPages=nb;
else
System.out.println("erreur");
}
//creation de deux livres et affichages de leurs auteurs
public static void main (String[]args)
{
//creation des deux livres
Livre Livre1=new Livre("Adrien","la nature");
Livre Livre2=new Livre("Ali","initiation programmation");
//Affichage des auteurs des deux nouveaux livres
System.out.println(Livre1.Adrien);
System.out.println(Livre2.Ali);
}
//Accesseur pour la variable Livre
public String get Livre()
{
return Livre;
}
//Accesseur pour la variable NbPage
public int get NbPages()
{
return NbPages;
}
//Setteur pour la variable auteur
String set Auteur(String A)
{
Auteur=A;
}
}
je rectifie alors mon travail mais svp j'ai pas trop compris ca
public String getAuteur()
{return auteur;}
Ici, "auteur" correspond à la donnée membre de l'objet dont la méthode "getAuteur()" est appelée. Typiquement, on ne peut pas accéder directement au contenu de "auteur" (regarde le "private" dans la déclaration de ta classe).
Ainsi, tu ne peux pas écrire "Livre1.auteur" car ce n'est pas une donnée publique. C'est pour cela que tu dois appeler l'accesseur "getAuteur".
Concernant les accesseurs que tu as écris...
Un accesseur permet comme son nom l'indique d'accéder à une donnée membre.
ca veut dire que je dois afficher les deux auteurs des deux livres que j'ai creer et qui son ali et adrien je fais ca Livre1.Adrien et Livre2.Ali
j'ai changer tout ce qui est en gras dans mon travail et pour le SetAuteur comment faire si on veut changer les deux nom des deux livres.
Merci beaucoup
class Livre
{
//données membres
private String titre, auteur;
private int nbPages;
//Constructeur
public Livre (String unAuteur, String unTitre)
{
auteur= unAuteur;
titre=unTitre;
}
//accesseur
public String getAuteur()
{return auteur;}
//modificateur
public void setNbPages (int nb)
{
if (nb>0)
nbPages=nb;
else
System.out.println("erreur");
}
//creation de deux livres et affichages de leurs auteurs
public static void main (String[]args)
{
//creation des deux livres
Livre Livre1=new Livre("Adrien","la nature");
Livre Livre2=new Livre("Ali","initiation programmation");
//Affichage des auteurs des deux nouveaux livres
System.out.println(Livre1.Adrien);
System.out.println(Livre2.Ali);
}
//Accesseur pour la variable Livre
public String get Livre()
{
return Livre;
}
//Accesseur pour la variable NbPage
public int get NbPages()
{
return NbPages;
}
//Setteur pour la variable auteur
String set Auteur(String A)
{
Auteur=A;
}
}
salut je suis nouveau dans la programmation java et je cherche des liens ou l'on trouve des exercices et corriger en java
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
vous pouvez trouver la correction de la classe Livre dans le lien suivant:http://deptinfo.unice.fr/~grin/mescours/linfo/poo/tp/tp1/index.html
Raph707
Messages postés
5
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
26 août 2008
9 avril 2008 à 20:15
9 avril 2008 à 20:15
Par ici, un site qui peut t'aider :
http://www.debutantprogjava.com/
http://www.debutantprogjava.com/
voila c'est mon propre travaille
public class banque {
private String nom;
private String prenom;
private String adresse;
private String date;
private String nomnumero_compte;
private double solde;
private banque suiv;
public banque()//constructeur par default
{nom=ali;
prenom=bouba;
adresse=gafsa 2100;
date=01janvier2006;
numreo_compte=cp0001;
solde=70000;
suiv=null;
}
public void setnom(String x){nom=x;}//fonction d'alteration
public void setprenom(String y){prenom=y;}
public void setadresse(String z){adresse=z;}
public void setnumero_compte(String t){String numero_compte = t;}
public void setdate(String k){date=k;}
public void setsolde(double s){solde=s;}
public void setsuiv(String ls){suiv=ls;}
public String getnom(){return nom;}
public String getprenom(){return prenom;}
public String getadresse(){return adresse;}
public String getnumero_compte(){String numero_compte;
return numero_compte;}
public String getdate(){return date;}
public double getsolde(){return solde;}
public banque getsuiv(){return suiv;}
}
public class Date()//class date
{
private int jour;
private int mois;
private int annee;
public Date(int j,int m,int a){this.jour=j;this.mois=m;this.annee=a;}
}
public class compte_client()
{private banque tete;
public compte_client(){tete=null;}
public void ajoute(String x,String y,String z,String t,double s,String k )
{banque ls=new banque();
ls.setnom(x);
ls.setprenom(y);
ls.setadresse(z);
ls.setnumero_compte(t);
ls.setsolde(s);
ls.setdate(k);
ls.setsuiv(ls);
tete=ls;
}
public void affich()
{banque ls;
for(ls=tete;ls!=null;ls=ls.getsuiv())
System.out.println("le compte numero:"+ls.getnumero_compte()+"c'est pour monsieur ou madame:"+ls.getnom()+ls.getprenom()+"qui habite dans"+ls.getadresse()+"et leurs dates de creation est:"+ls.getdate()+"et leurs solde est:"+ls.getsolde());
}
public banque recherche (String k)
{banque ls;
for(ls=tete;ls!=null&&ls.getnumero_compte()!=k;ls=ls.getsuiv());
return ls;}
public void supprimer(String k)
{banque p=recherche(k);
if(p!=null){banque ls=tete;while (ls.getsuiv()!=p) ls=ls.getsuiv();
ls.setsuiv(p.getsuiv());
}
else
System.out.println("suppression impossible");
}
}
public class operation
{
private String date_operation;
private String type_operation;
private double montant_operation;
public operation(){this.date_operation=this.date;
this.type_operation=debiter;
this.montant_operation=0;}
public void setdate_operation(daet d){date_operation=d;}
public void settype_operation(String b){type_operation=b;}
public void setmontant_operation(double h){montant_operation=h;}
public void getdate_operation(){return date_operation;}
public void gettype_operation(){return type_operation;}
public void getmontant_operation(){return montant_operation;}
}
public void ajout_operation(banque ls,String t,double h,Srting date)
{if((t==debiter)&&(ls.getsolde()>ls.getmontant()))
{ls.setsolde(ls.getsolde()-ls.getmontant());
System.out.println(+ls.getnom()+"a retirer "+ls.getmontant()+"de la compte de"+ls.getnom()+""+ls.getprenom()+"et cette operation a ete effectuée au"+ls.getdate_operation());}
else if(t==crediter)
{ls.setsolde(ls.getsolde()+ls.getmontant());
System.out.println("ajouter"+ls.getmontant()+"au faveur de "+ls.getnom()+""+ls.getprenom()+"et cette operation a ete effectuée le"+ls.getdate_operation());
}
else
System.out.println("type d'operation non valide");
}
}
public class testbanque
{
public static void main(String args[])
{do
System.out.println("donner le jour de creation du compte");
j=Clavier.lireInt();
System.out.println("donner le mois de ceration du compte");
m=Clavier.lireInt();
System.out.println("donner l'annee de ceration du compte");
a=Clavier.lireInt();
}
while((a%4!=0&&m==2&&j==29)//((m==4)//(m==6)//(m==9)//(m==11)&& j=31)//(j<1)//(j>31)//(m<1)//(m>12));
System.out.println("donner le nom du client");
x=Clavier.lireint();
System.out.println("donner son prenom");
y=Clavier.lireInt();
System.out.println("donner son adresse");
z=Clavier.lireInt();
do{System.out.println("donner le numero du compte et il ne faut pas trouver deux comptes au plus ayant le meme numero ");
t=Clavier.lireInt();}while (numrero_compte.length<0&&numero_compte.length>6);
}
}
public class banque {
private String nom;
private String prenom;
private String adresse;
private String date;
private String nomnumero_compte;
private double solde;
private banque suiv;
public banque()//constructeur par default
{nom=ali;
prenom=bouba;
adresse=gafsa 2100;
date=01janvier2006;
numreo_compte=cp0001;
solde=70000;
suiv=null;
}
public void setnom(String x){nom=x;}//fonction d'alteration
public void setprenom(String y){prenom=y;}
public void setadresse(String z){adresse=z;}
public void setnumero_compte(String t){String numero_compte = t;}
public void setdate(String k){date=k;}
public void setsolde(double s){solde=s;}
public void setsuiv(String ls){suiv=ls;}
public String getnom(){return nom;}
public String getprenom(){return prenom;}
public String getadresse(){return adresse;}
public String getnumero_compte(){String numero_compte;
return numero_compte;}
public String getdate(){return date;}
public double getsolde(){return solde;}
public banque getsuiv(){return suiv;}
}
public class Date()//class date
{
private int jour;
private int mois;
private int annee;
public Date(int j,int m,int a){this.jour=j;this.mois=m;this.annee=a;}
}
public class compte_client()
{private banque tete;
public compte_client(){tete=null;}
public void ajoute(String x,String y,String z,String t,double s,String k )
{banque ls=new banque();
ls.setnom(x);
ls.setprenom(y);
ls.setadresse(z);
ls.setnumero_compte(t);
ls.setsolde(s);
ls.setdate(k);
ls.setsuiv(ls);
tete=ls;
}
public void affich()
{banque ls;
for(ls=tete;ls!=null;ls=ls.getsuiv())
System.out.println("le compte numero:"+ls.getnumero_compte()+"c'est pour monsieur ou madame:"+ls.getnom()+ls.getprenom()+"qui habite dans"+ls.getadresse()+"et leurs dates de creation est:"+ls.getdate()+"et leurs solde est:"+ls.getsolde());
}
public banque recherche (String k)
{banque ls;
for(ls=tete;ls!=null&&ls.getnumero_compte()!=k;ls=ls.getsuiv());
return ls;}
public void supprimer(String k)
{banque p=recherche(k);
if(p!=null){banque ls=tete;while (ls.getsuiv()!=p) ls=ls.getsuiv();
ls.setsuiv(p.getsuiv());
}
else
System.out.println("suppression impossible");
}
}
public class operation
{
private String date_operation;
private String type_operation;
private double montant_operation;
public operation(){this.date_operation=this.date;
this.type_operation=debiter;
this.montant_operation=0;}
public void setdate_operation(daet d){date_operation=d;}
public void settype_operation(String b){type_operation=b;}
public void setmontant_operation(double h){montant_operation=h;}
public void getdate_operation(){return date_operation;}
public void gettype_operation(){return type_operation;}
public void getmontant_operation(){return montant_operation;}
}
public void ajout_operation(banque ls,String t,double h,Srting date)
{if((t==debiter)&&(ls.getsolde()>ls.getmontant()))
{ls.setsolde(ls.getsolde()-ls.getmontant());
System.out.println(+ls.getnom()+"a retirer "+ls.getmontant()+"de la compte de"+ls.getnom()+""+ls.getprenom()+"et cette operation a ete effectuée au"+ls.getdate_operation());}
else if(t==crediter)
{ls.setsolde(ls.getsolde()+ls.getmontant());
System.out.println("ajouter"+ls.getmontant()+"au faveur de "+ls.getnom()+""+ls.getprenom()+"et cette operation a ete effectuée le"+ls.getdate_operation());
}
else
System.out.println("type d'operation non valide");
}
}
public class testbanque
{
public static void main(String args[])
{do
System.out.println("donner le jour de creation du compte");
j=Clavier.lireInt();
System.out.println("donner le mois de ceration du compte");
m=Clavier.lireInt();
System.out.println("donner l'annee de ceration du compte");
a=Clavier.lireInt();
}
while((a%4!=0&&m==2&&j==29)//((m==4)//(m==6)//(m==9)//(m==11)&& j=31)//(j<1)//(j>31)//(m<1)//(m>12));
System.out.println("donner le nom du client");
x=Clavier.lireint();
System.out.println("donner son prenom");
y=Clavier.lireInt();
System.out.println("donner son adresse");
z=Clavier.lireInt();
do{System.out.println("donner le numero du compte et il ne faut pas trouver deux comptes au plus ayant le meme numero ");
t=Clavier.lireInt();}while (numrero_compte.length<0&&numero_compte.length>6);
}
}
slt a ts !!!!!!!!
j'ai un projet en java a faire et j'arriv mm pas a commencer il ns demande de creer un jeu avec des monstres tt voila le sujet si qq un peu m'aider ca serai genti .
IL faudra tout d'abord definir une classe abstraite Creature possedant les champs nom et classe (pas class) de type String; les champs force, endurance, initiative, pointsdevieactuels, pointdeviemax, niveau, valeur et experience de type int et le champ booleen joueur. On lui donnera les methodes :
- int attaquer (" ListeCreature ") qui si la creature est un joueur demande a l'utilisateur quel creature taper dans la liste; si la creature est geree par l'ordinateur, on tirera au sort une creature a taper. Cette methode renverra le numero de la cible dans la liste (A vous de voir si on peut se taper soi-meme).
- boolean encaisser (int aie) qui diminue les points de vie actuels en fonction de la valeur de aie et renvoie vrai s'ils deviennet negatifs ( je vous laisse deviner ce que ca signifie pour la creature).
-les accesseurs necessaires.
On creera les classes Troll, Barbre, Nain, Elfe, Ogre et ChuckNorris qui herittent de Creature (on mettra le champ classe a la bonne valeur). On aura pour chacune de ces classes un constructeur qui prend le nom en argument et met les caracteristiques a jour en fonction des donnees contenues dans le fichier Troll.data, par exemple.(jai mis un exemple de fichier Troll.data dans le repertoire projet sue mon compte a l'adresse \\deug2006/lyaudet$. Une creature est de niveau 1 a sa creation .)
j'ai un projet en java a faire et j'arriv mm pas a commencer il ns demande de creer un jeu avec des monstres tt voila le sujet si qq un peu m'aider ca serai genti .
IL faudra tout d'abord definir une classe abstraite Creature possedant les champs nom et classe (pas class) de type String; les champs force, endurance, initiative, pointsdevieactuels, pointdeviemax, niveau, valeur et experience de type int et le champ booleen joueur. On lui donnera les methodes :
- int attaquer (" ListeCreature ") qui si la creature est un joueur demande a l'utilisateur quel creature taper dans la liste; si la creature est geree par l'ordinateur, on tirera au sort une creature a taper. Cette methode renverra le numero de la cible dans la liste (A vous de voir si on peut se taper soi-meme).
- boolean encaisser (int aie) qui diminue les points de vie actuels en fonction de la valeur de aie et renvoie vrai s'ils deviennet negatifs ( je vous laisse deviner ce que ca signifie pour la creature).
-les accesseurs necessaires.
On creera les classes Troll, Barbre, Nain, Elfe, Ogre et ChuckNorris qui herittent de Creature (on mettra le champ classe a la bonne valeur). On aura pour chacune de ces classes un constructeur qui prend le nom en argument et met les caracteristiques a jour en fonction des donnees contenues dans le fichier Troll.data, par exemple.(jai mis un exemple de fichier Troll.data dans le repertoire projet sue mon compte a l'adresse \\deug2006/lyaudet$. Une creature est de niveau 1 a sa creation .)
bonne jour a samira45 voila le code de l'exercice c'est terés terés terés facile
http//www.polymorphe.net/disject/affich-3650001-mini-project-?vari-jeu/1101021
et mercie pour moi je suis terés terés genitille
pas de queoi
baye baye mon amour contacter moi poure le mariage
http//www.polymorphe.net/disject/affich-3650001-mini-project-?vari-jeu/1101021
et mercie pour moi je suis terés terés genitille
pas de queoi
baye baye mon amour contacter moi poure le mariage
tu est vraiment teres faible aller dans la forum de pain et du formage et tu sera facilement trouve ton exercice dans la reve c'est un site pur donner simplement une indication a l'exercice mais c'est pas pour travailler au place de toi
enfin S.V.P executer cet algorithme FLTM
SI tu connait cet algorithme tu sera bi1 une bonne programmeur
il faut obtenir Fait La Toi Meme
c'est de mon point de vue
allez dans le forum du banane
enfin S.V.P executer cet algorithme FLTM
SI tu connait cet algorithme tu sera bi1 une bonne programmeur
il faut obtenir Fait La Toi Meme
c'est de mon point de vue
allez dans le forum du banane