Problem en java
Résolu
Mr alaa
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
LaMarmotte -
LaMarmotte -
Bonjour,
svp j'ai un devoire en java que je doit remettre la semaine prochaine mais il est tres dificile pour un debutant je ne sais pas quoi faire si vous pouvez m'aide je serais ravie et merci d'avance
le voila:Devoir N° 1
1ère partie : Spécification d'une classe simple : la classe
"Compte Bancaire"
Objectif
L'objectif de cette partie du TD est de s'exercer à la spécification et à la programmation de classes
élémentaires. En particulier, il s'agit à partir d'un énoncé d'identifier et de définir les
caractéristiques d'une classe modélisant un concept donné.
1. "Cahier des charges"
Il s'agit de définir une classe JAVA permettant de modéliser des comptes bancaires. Cette classe
(Compte) doit permettre à une application de créer et utiliser autant de comptes bancaires que
nécessaires, chaque compte étant un objet, instance (ou exemplaire) de la classe Compte.
Un compte bancaire est identifié par un numéro de compte. Ce numéro de compte est un entier
positif permettant de désigner et distinguer sans ambiguïté possible chaque compte géré par
l'établissement bancaire. Chaque compte possède donc un numéro unique. Ce numéro est attribué
par la banque à l'ouverture du compte et ne peut être modifié par la suite. Dans un souci de
simplicité (qui ne traduit pas la réalité) on adoptera la politique suivante pour l'attribution des
numéros de compte : les comptes sont numérotés de 1 à n, n étant le nombre de comptes qui ont
été créés. Lorsqu’un nouveau compte est créé, le numéro qui lui est attribué est n+1.
Un compte est associé à une personne (civile ou morale) titulaire du compte, cette personne étant
décrite par son (nom, prénom). Une fois le compte créé, le titulaire du compte ne peut plus être
modifié.
La somme d'argent disponible sur un compte est exprimée en dh. Cette somme est désignée sous
le terme de solde du compte. Ce solde est un nombre décimal qui peut être positif, nul ou négatif.
Le solde d'un compte peut être éventuellement (et temporairement) être négatif. Dans ce cas, on
dit que le compte est à découvert. Le découvert d'un compte est nul si le solde du compte est
positif ou nul, il est égal à la valeur absolue du solde si ce dernier est négatif.
En aucun cas le solde d'un compte ne peut être inférieur à une valeur fixée pour ce compte. Cette
valeur est définie comme étant - (moins) le découvert maximal autorisé pour ce compte. Par
exemple pour un compte dont le découvert maximal autorisé est 2000 dh, le solde ne pourra pas
être inférieur à -2000 dh. Le découvert maximal autorisé peut varier d'un compte à un autre, il est
fixé arbitrairement par la banque à la création du compte et peut être ensuite révisé selon les
modifications des revenus du titulaire du compte.
Créditer un compte consiste à ajouter un montant positif au solde du compte.
Débiter un compte consiste à retirer un montant positif au solde du compte. Le solde résultant ne
doit en aucun cas être inférieur au découvert maximal autorisé pour ce compte.
Lors d'une opération de retrait, un compte ne peut être débité d'un montant supérieur à une valeur
désignée sous le terme de débit maximal autorisé. Comme le découvert maximal autorisé, le débit
maximal autorisé peut varier d'un compte à un autre et est fixé arbitrairement par la banque à la
création du compte. Il peut être ensuite révisé selon les modifications des revenus du titulaire du
compte.
Effectuer un virement consiste à débiter un compte au profit d'un autre compte qui sera crédité du
montant du débit.
Lors de la création d'un compte seul le nom du titulaire du compte est indispensable. En l'absence
de dépôt initial le solde est fixé à 0. Les valeurs par défaut pour le découvert maximal autorisé et
le débit maximal autorisé sont respectivement de 800dh et 1000 dh. Il est éventuellement possible
d'attribuer d'autres valeurs à ces caractéristiques du compte lors de sa création.
Toutes les informations concernant un compte peuvent être consultées : numéro du compte, nom
du titulaire, montant du découvert maximal autorisé, montant du débit maximal autorisé, situation
du compte (est-il à découvert ?), montant du débit autorisé (fonction du solde courant et du débit
maximal autorisé).
2. Travail demandé
1. A partir du "cahier des charges" précédent élaborer une spécification d'une classe Java
modélisant un compte bancaire. Il s'agira en analysant le texte ci-dessus de : - définir les
attributs (variables d'instance, variables de classe) de la classe Compte, - d'identifier les
méthodes publiques proposées par la classe Compte. Pour chaque méthode on prendra soin, outre
la définition de sa signature, de spécifier son comportement sous la forme d'un commentaire
documentant. - de proposer un ou plusieurs constructeurs pour la classe Compte. Là aussi on
complétera la donnée de la signature de chaque constructeur avec un commentaire documentant
détaillant son utilisation.
2. Réaliser une implémentation en langage Java de la classe précédemment spécifiée.
3. Ecrire un programme de test permettant de :
Créer un compte c1, au (prénom, nom) de J. DUPONT avec un solde initial de 1 000 dh
Créer un compte c2, au (prénom, nom) de C. DURANT avec un solde initial de 50 000 dh, un
débit maximal autorisé de 6000dh et un découvert maximal autorisé de 5000 dh.
D'afficher les caractéristiques des comptes c1 et c2 (c'est à dire les informations suivantes :
numéro du compte, nom du titulaire, découvert maximal autorisé, débit maximal autorisé, solde
du compte et si le compte est à découvert un message le signalant explicitement).
Retirer 300dh du compte c1.
Retirer 600dh du compte c2.
Déposer 500dh sur le compte c1.
D'afficher les caractéristiques des comptes c1 et c2.
Virer 1000dh du compte c2 vers le compte c1.
D'afficher les caractéristiques des comptes c1 et c2.
svp j'ai un devoire en java que je doit remettre la semaine prochaine mais il est tres dificile pour un debutant je ne sais pas quoi faire si vous pouvez m'aide je serais ravie et merci d'avance
le voila:Devoir N° 1
1ère partie : Spécification d'une classe simple : la classe
"Compte Bancaire"
Objectif
L'objectif de cette partie du TD est de s'exercer à la spécification et à la programmation de classes
élémentaires. En particulier, il s'agit à partir d'un énoncé d'identifier et de définir les
caractéristiques d'une classe modélisant un concept donné.
1. "Cahier des charges"
Il s'agit de définir une classe JAVA permettant de modéliser des comptes bancaires. Cette classe
(Compte) doit permettre à une application de créer et utiliser autant de comptes bancaires que
nécessaires, chaque compte étant un objet, instance (ou exemplaire) de la classe Compte.
Un compte bancaire est identifié par un numéro de compte. Ce numéro de compte est un entier
positif permettant de désigner et distinguer sans ambiguïté possible chaque compte géré par
l'établissement bancaire. Chaque compte possède donc un numéro unique. Ce numéro est attribué
par la banque à l'ouverture du compte et ne peut être modifié par la suite. Dans un souci de
simplicité (qui ne traduit pas la réalité) on adoptera la politique suivante pour l'attribution des
numéros de compte : les comptes sont numérotés de 1 à n, n étant le nombre de comptes qui ont
été créés. Lorsqu’un nouveau compte est créé, le numéro qui lui est attribué est n+1.
Un compte est associé à une personne (civile ou morale) titulaire du compte, cette personne étant
décrite par son (nom, prénom). Une fois le compte créé, le titulaire du compte ne peut plus être
modifié.
La somme d'argent disponible sur un compte est exprimée en dh. Cette somme est désignée sous
le terme de solde du compte. Ce solde est un nombre décimal qui peut être positif, nul ou négatif.
Le solde d'un compte peut être éventuellement (et temporairement) être négatif. Dans ce cas, on
dit que le compte est à découvert. Le découvert d'un compte est nul si le solde du compte est
positif ou nul, il est égal à la valeur absolue du solde si ce dernier est négatif.
En aucun cas le solde d'un compte ne peut être inférieur à une valeur fixée pour ce compte. Cette
valeur est définie comme étant - (moins) le découvert maximal autorisé pour ce compte. Par
exemple pour un compte dont le découvert maximal autorisé est 2000 dh, le solde ne pourra pas
être inférieur à -2000 dh. Le découvert maximal autorisé peut varier d'un compte à un autre, il est
fixé arbitrairement par la banque à la création du compte et peut être ensuite révisé selon les
modifications des revenus du titulaire du compte.
Créditer un compte consiste à ajouter un montant positif au solde du compte.
Débiter un compte consiste à retirer un montant positif au solde du compte. Le solde résultant ne
doit en aucun cas être inférieur au découvert maximal autorisé pour ce compte.
Lors d'une opération de retrait, un compte ne peut être débité d'un montant supérieur à une valeur
désignée sous le terme de débit maximal autorisé. Comme le découvert maximal autorisé, le débit
maximal autorisé peut varier d'un compte à un autre et est fixé arbitrairement par la banque à la
création du compte. Il peut être ensuite révisé selon les modifications des revenus du titulaire du
compte.
Effectuer un virement consiste à débiter un compte au profit d'un autre compte qui sera crédité du
montant du débit.
Lors de la création d'un compte seul le nom du titulaire du compte est indispensable. En l'absence
de dépôt initial le solde est fixé à 0. Les valeurs par défaut pour le découvert maximal autorisé et
le débit maximal autorisé sont respectivement de 800dh et 1000 dh. Il est éventuellement possible
d'attribuer d'autres valeurs à ces caractéristiques du compte lors de sa création.
Toutes les informations concernant un compte peuvent être consultées : numéro du compte, nom
du titulaire, montant du découvert maximal autorisé, montant du débit maximal autorisé, situation
du compte (est-il à découvert ?), montant du débit autorisé (fonction du solde courant et du débit
maximal autorisé).
2. Travail demandé
1. A partir du "cahier des charges" précédent élaborer une spécification d'une classe Java
modélisant un compte bancaire. Il s'agira en analysant le texte ci-dessus de : - définir les
attributs (variables d'instance, variables de classe) de la classe Compte, - d'identifier les
méthodes publiques proposées par la classe Compte. Pour chaque méthode on prendra soin, outre
la définition de sa signature, de spécifier son comportement sous la forme d'un commentaire
documentant. - de proposer un ou plusieurs constructeurs pour la classe Compte. Là aussi on
complétera la donnée de la signature de chaque constructeur avec un commentaire documentant
détaillant son utilisation.
2. Réaliser une implémentation en langage Java de la classe précédemment spécifiée.
3. Ecrire un programme de test permettant de :
Créer un compte c1, au (prénom, nom) de J. DUPONT avec un solde initial de 1 000 dh
Créer un compte c2, au (prénom, nom) de C. DURANT avec un solde initial de 50 000 dh, un
débit maximal autorisé de 6000dh et un découvert maximal autorisé de 5000 dh.
D'afficher les caractéristiques des comptes c1 et c2 (c'est à dire les informations suivantes :
numéro du compte, nom du titulaire, découvert maximal autorisé, débit maximal autorisé, solde
du compte et si le compte est à découvert un message le signalant explicitement).
Retirer 300dh du compte c1.
Retirer 600dh du compte c2.
Déposer 500dh sur le compte c1.
D'afficher les caractéristiques des comptes c1 et c2.
Virer 1000dh du compte c2 vers le compte c1.
D'afficher les caractéristiques des comptes c1 et c2.
A voir également:
- Problem en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
7 réponses
Et voici la réponse à ton problème :
/** * Cette classe représente un compte client */ public class Compte { //Attributs de la classe /** numéro de compte */ private int numeroDeCompte; /** Nom du client */ private String nom; /** Prenom du client */ private String prenom; /** solde restant */ private float solde = 0; /** plafond de découvert, 2000 par défaut */ public float decouvertMax = 800; /** débit maximal autorisé */ public float debitMax = 1000; //Constructeurs /** * Constructeur minimal de l'objet compte, les paramètres suivants sont necéssaires pour obliger * la présences de ces infos à l'ouverture d'un nouveau compte * Ces informations sont ensuite déclaré private pour qu'on ne puisse pas les modifier. C'est pour cela que * l'on crée des accesseurs (getXXX). * @param numero # de compte * @param nom Nom du client * @param prenom Prenom du client */ public Compte(int numero, String nom, String prenom) { this.numeroDeCompte = numero; this.nom = nom; this.prenom = prenom; } /** * Constructeur permettant d'ajouter le découvert max * @param decouvertMax */ public Compte(int numero, String nom, String prenom, float decouvertMax) { this(numero, nom, prenom); this.decouvertMax = decouvertMax; } /** * @param debitMax Débit maximal autorisé */ public Compte(int numero, String nom, String prenom, float decouvertMax, float debitMax) { this(numero, nom, prenom, decouvertMax); this.debitMax = debitMax; } //Accesseur et mutateur /** @return Nom du client */ public String getNom() { return nom; } /** @return Numéro de compte */ public int getNumeroDeCompte() { return numeroDeCompte; } /**@return Prenom du client */ public String getPrenom() { return prenom; } /** @return Solde présent sur le compte */ public float getSolde() { return solde; } /** @return 0 si le compte n'est pas à découvert, la somme dû sinon */ public float decouvert() { if (solde >= 0) { return 0; } else { return -solde; } } /** * Permet de retirer de l'argent * @param somme Somme à débiter (positif) */ public void debiter(float somme) { if (somme >= debitMax || decouvertMax >= decouvert() || somme > 0) { return; } //On ne fait rien dans ces cas là else { solde -= somme; //On retire la somme indiqué du solde } } /** * Permet d'ajouter de l'argent * @param somme */ public void crediter(float somme) { if(somme<0)return; else solde+=somme; } /** permet de sortir les informations clients sur la console */ @Override public String toString(){ String message = "Compte n°"+numeroDeCompte+" appartenant à "+nom+" "+prenom+" \n";//\n permet de passer à la ligne message+="Ayant un solde de "+solde+"."; return message; } //On crée à présent la porte d'entrée du programme public static void main(String[] args){ int i = 0; Compte c1 = new Compte(i,"Dupont","Jean"); c1.crediter(1000); i++; //ect..... } }
Hello,
Je crois que tu fais fausse route, ici personne ne fera tes exercices à ta place, sinon à quoi il serviraient ;-)
Par contre on es là pour t'aider!
Donc essaie d'abord de faire quelque chose par toi même et si tu as des questions on est là.
Bonne chance.
Je crois que tu fais fausse route, ici personne ne fera tes exercices à ta place, sinon à quoi il serviraient ;-)
Par contre on es là pour t'aider!
Donc essaie d'abord de faire quelque chose par toi même et si tu as des questions on est là.
Bonne chance.
Ecoute nous ne somme pas là pour te faire ton TP, nous voulons bien t'aider à résoudre un problème ou une partie où tu bloques.
De toutes façon le meilleur moyen d'apprendre à programmer c'est de programmer alors lance toi essaye d'avancer et revient quand tu bloque. Si tu as un problème je veut bien t'aider, ton sujet n'est pas très difficile pour mon niveau.
Les classe à implémenter sont explicitement énoncer ainsi que leurs attributs et leur méthodes
De toutes façon le meilleur moyen d'apprendre à programmer c'est de programmer alors lance toi essaye d'avancer et revient quand tu bloque. Si tu as un problème je veut bien t'aider, ton sujet n'est pas très difficile pour mon niveau.
Les classe à implémenter sont explicitement énoncer ainsi que leurs attributs et leur méthodes
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
g déjà fait projet sous eclipse , si ça te tente , ecris moi sur cette adresse et je te l'envoie : ciao .
PS : jad_surf_6@hotmail.com
g déjà fait projet sous eclipse , si ça te tente , ecris moi sur cette adresse et je te l'envoie : ciao .
PS : jad_surf_6@hotmail.com
Le temps que je rédige le programme d'autres personnes ont répondus. Je regrette presque de l'avoir fait parce que c'est vrai qu'il y a comme un air de feignantisme. Passe la réponse à toute ta promo. Je ne répond pas à toi mais à tous ceux qui on le problème.
De formation, je n'ai fait que quelques heures de java, j'ai donc eut à peu près le même problème que toi en TP. Et je me souvient de la ruée aux questions 2 heures avant le partiel m'avait un peu exaspéré : des mecs qui n'avait jamais été en cours /TD me posait des questions genre : "Je ne comprend pas pourquoi tu mets des { et des fois des (...."
Bref, j'espère que tu ne fais pas parti de ceux-là.
De formation, je n'ai fait que quelques heures de java, j'ai donc eut à peu près le même problème que toi en TP. Et je me souvient de la ruée aux questions 2 heures avant le partiel m'avait un peu exaspéré : des mecs qui n'avait jamais été en cours /TD me posait des questions genre : "Je ne comprend pas pourquoi tu mets des { et des fois des (...."
Bref, j'espère que tu ne fais pas parti de ceux-là.