A voir également:
- [JAVA] Comment enregistrer des opérations ?
- Waptrick java football - Télécharger - Jeux vidéo
- Audacity enregistrer son pc - Guide
- Jeux java itel football - Télécharger - Jeux vidéo
- Comment enregistrer une video youtube - Guide
- Enregistrer en pdf - Guide
7 réponses
nobie-cs
Messages postés
155
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
15 mai 2010
17
30 nov. 2009 à 23:36
30 nov. 2009 à 23:36
tu peut utiliser une ArrayList
https://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html
tu peut faire aussi un Base de donnée en SQL
https://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html
tu peut faire aussi un Base de donnée en SQL
timidemimi
Messages postés
5
Date d'inscription
lundi 30 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2009
1 déc. 2009 à 18:01
1 déc. 2009 à 18:01
Merci beaucoup pour ta réponse.
J'ai regardé ArrayList mais je ne sais même pas ce qu'est une collection =/
Et nous ne commençons le SQL que l'an prochain.. Cela me semble bien complexe pour un sujet de première année, surtout que notre prof dit que l'on n'a pas besoin d'utiliser de tableau ou autre.
J'ai pensé utiliser 5 variables ou je pourrais stocker les opérations, mais je me heurte à un problème. En effet dans la classe Test on effectue plus de 5 opérations et je ne parviens pas à "décaler" les valeurs de mes variables (la variable1 prend la valeur de la variable2, etc...). Penses-tu que ce soit possible de fonctionner ainsi? Merci d'avance!
J'ai regardé ArrayList mais je ne sais même pas ce qu'est une collection =/
Et nous ne commençons le SQL que l'an prochain.. Cela me semble bien complexe pour un sujet de première année, surtout que notre prof dit que l'on n'a pas besoin d'utiliser de tableau ou autre.
J'ai pensé utiliser 5 variables ou je pourrais stocker les opérations, mais je me heurte à un problème. En effet dans la classe Test on effectue plus de 5 opérations et je ne parviens pas à "décaler" les valeurs de mes variables (la variable1 prend la valeur de la variable2, etc...). Penses-tu que ce soit possible de fonctionner ainsi? Merci d'avance!
nobie-cs
Messages postés
155
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
15 mai 2010
17
1 déc. 2009 à 19:22
1 déc. 2009 à 19:22
dsl j'ai bien compris ton problème tu peut m'expliquer ou donner un exemple de se que crediter() et debiter() doit faire
timidemimi
Messages postés
5
Date d'inscription
lundi 30 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2009
1 déc. 2009 à 20:03
1 déc. 2009 à 20:03
Je te mets les lignes de code correspondant aux méthodes :
Pour la classe mère CompteBancaire :
// Méthode permettant de créditer le compte :
public void crediter(int montant_credite) {
if (montant_credite > 0) {
this.solde = this.solde + montant_credite;
}
}
// Méthode permettant de débiter le compte (on suppose que le solde peut-être négatif, c'est-à-dire que le compte peut être à découvert) :
public void debiter(int montant_debite) {
if (montant_debite > 0) {
this.solde = this.solde - montant_debite;
}
}
Et pour la classe fille CompteBancaireReleve :
//Redéfinition des méthodes sur les opérations pour incrémenter nb_operations_effectuees :
public void crediter(int montant_credite) {
super.crediter(montant_credite);
this.nb_operations_effectuees++;
}
public void debiter(int montant_debite) {
super.debiter(montant_debite);
this.nb_operations_effectuees++;
}
// Méthode renvoyant le nombre d'opérations effectuées depuis la création du compte :
public int getNbOperationsEffectuees() {
return this.nb_operations_effectuees;
}
Voilà si tu as besoin d'autres précisions je te copie-colle cela tout de suite =)
Pour la classe mère CompteBancaire :
// Méthode permettant de créditer le compte :
public void crediter(int montant_credite) {
if (montant_credite > 0) {
this.solde = this.solde + montant_credite;
}
}
// Méthode permettant de débiter le compte (on suppose que le solde peut-être négatif, c'est-à-dire que le compte peut être à découvert) :
public void debiter(int montant_debite) {
if (montant_debite > 0) {
this.solde = this.solde - montant_debite;
}
}
Et pour la classe fille CompteBancaireReleve :
//Redéfinition des méthodes sur les opérations pour incrémenter nb_operations_effectuees :
public void crediter(int montant_credite) {
super.crediter(montant_credite);
this.nb_operations_effectuees++;
}
public void debiter(int montant_debite) {
super.debiter(montant_debite);
this.nb_operations_effectuees++;
}
// Méthode renvoyant le nombre d'opérations effectuées depuis la création du compte :
public int getNbOperationsEffectuees() {
return this.nb_operations_effectuees;
}
Voilà si tu as besoin d'autres précisions je te copie-colle cela tout de suite =)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
nobie-cs
Messages postés
155
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
15 mai 2010
17
1 déc. 2009 à 21:02
1 déc. 2009 à 21:02
tu veut enregistrer tout les (montant_debite et montant_credite) que ta effectuer ??
En gros avec ma classe Test je dois obtenir :
Ancien solde 1000 Euros
LIBELLE DEBIT CREDIT
Opération 1 +300 Euros
Opération 2 -150 Euros
Opération3 ...
...
...
Nouveau solde XXX Euros
Ce sont des exemples mais voilà pourquoi je dois stocker chaque opération. Je n'ai pas plus de précision, je sais juste que je dois créer une méthode "qui enregistre une opération au crédit (et une autre pour opération au débit) sur le compte dont le montant est passé en paramètre".
Effectivement un tableau serait l'idéal mais je ne sais absolument pas les utiliser et les infos que j'ai pu trouver sur le net ne sont pas d'une grande aide =/
De plus, comme je n'ai qu'un nombre prédéfini d'opérations que je peux mémoriser, les valeurs de Opération 1, 2, 3 ...etc changent dès que je fais plus d'opérations que ce nombre (puisque je veux afficher les dernières effectuées).
Alors voilà je viens de passer 1h à essayer avec 5 variables ou je stockerais la valeur du montant (positif si crédit, négatif si débit, pour pouvoir tester dans quelle colonne afficher). Mais ça ne fonctionne pas je bloque. J'ai également essayer d'utiliser un switch mais visiblement, ça ne convient pas non plus.
Quelqu'un de ma promo a dit avoir fait une méthode transaction() mais je n'ai pas plus de précision donc je ne vois pas trop ce qu'il a voulu dire...
Ancien solde 1000 Euros
LIBELLE DEBIT CREDIT
Opération 1 +300 Euros
Opération 2 -150 Euros
Opération3 ...
...
...
Nouveau solde XXX Euros
Ce sont des exemples mais voilà pourquoi je dois stocker chaque opération. Je n'ai pas plus de précision, je sais juste que je dois créer une méthode "qui enregistre une opération au crédit (et une autre pour opération au débit) sur le compte dont le montant est passé en paramètre".
Effectivement un tableau serait l'idéal mais je ne sais absolument pas les utiliser et les infos que j'ai pu trouver sur le net ne sont pas d'une grande aide =/
De plus, comme je n'ai qu'un nombre prédéfini d'opérations que je peux mémoriser, les valeurs de Opération 1, 2, 3 ...etc changent dès que je fais plus d'opérations que ce nombre (puisque je veux afficher les dernières effectuées).
Alors voilà je viens de passer 1h à essayer avec 5 variables ou je stockerais la valeur du montant (positif si crédit, négatif si débit, pour pouvoir tester dans quelle colonne afficher). Mais ça ne fonctionne pas je bloque. J'ai également essayer d'utiliser un switch mais visiblement, ça ne convient pas non plus.
Quelqu'un de ma promo a dit avoir fait une méthode transaction() mais je n'ai pas plus de précision donc je ne vois pas trop ce qu'il a voulu dire...
nobie-cs
Messages postés
155
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
15 mai 2010
17
1 déc. 2009 à 21:48
1 déc. 2009 à 21:48
la meilleure solution pour ton problème c'est d'utiliser une arraylist ou même un tableau
arraylist
pour le tableau ta besoin d'un seul d'une dimension quand tu veut ajouter tu ajoute a la fin du tableau "tab.legnth -1" pour le numéro des opération tu utiliser l'index
arraylist
ArrayList<int> listOpp; listOpp= new ArrayList<int>; listOpp.add(300);... // pour ajouter un élément au liste listOpp.get(5);.. // il retourne la valeur à l'index 5
pour le tableau ta besoin d'un seul d'une dimension quand tu veut ajouter tu ajoute a la fin du tableau "tab.legnth -1" pour le numéro des opération tu utiliser l'index
timidemimi
Messages postés
5
Date d'inscription
lundi 30 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2009
2 déc. 2009 à 19:52
2 déc. 2009 à 19:52
Bonsoir,
J'ai tenté une ArrayList pour enregistrer mes opérations. Dans chaque élément de la liste je stocke donc un montant positif (crédit) ou négatif (débit) à l'indice Liste.get(i)
Seulement en appliquant tout ça je pense que j'ai mal manipulé les méthodes get() et size() et je me retrouve avec ces erreurs à la compilations :
auriane@auriane-ferrari:/media/NEN0HI NEW/IUT/ProgObj/Projet-partiel$ javac CompteBancaireReleve.java
CompteBancaireReleve.java:98: operator > cannot be applied to java.lang.Object,int
........if (operations.get(operations.size() - 5) > 0) {
..............................................................................^
CompteBancaireReleve.java:105: operator > cannot be applied to java.lang.Object,int
........if (operations.get(operations.size() - 4) > 0) {
..............................................................................^
CompteBancaireReleve.java:112: operator > cannot be applied to java.lang.Object,int
........if (operations.get(operations.size() - 3) > 0) {
..............................................................................^
CompteBancaireReleve.java:119: operator > cannot be applied to java.lang.Object,int
........if (operations.get(operations.size() - 2) > 0) {
..............................................................................^
CompteBancaireReleve.java:126: operator > cannot be applied to java.lang.Object,int
........if (operations.get(operations.size() - 1) > 0) {
..............................................................................^
Note: CompteBancaireReleve.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
5 errors
Peut-être pourras-tu me dire ce que cela signifie ... :S
Merci beaucoup.
J'ai tenté une ArrayList pour enregistrer mes opérations. Dans chaque élément de la liste je stocke donc un montant positif (crédit) ou négatif (débit) à l'indice Liste.get(i)
Seulement en appliquant tout ça je pense que j'ai mal manipulé les méthodes get() et size() et je me retrouve avec ces erreurs à la compilations :
auriane@auriane-ferrari:/media/NEN0HI NEW/IUT/ProgObj/Projet-partiel$ javac CompteBancaireReleve.java
CompteBancaireReleve.java:98: operator > cannot be applied to java.lang.Object,int
........if (operations.get(operations.size() - 5) > 0) {
..............................................................................^
CompteBancaireReleve.java:105: operator > cannot be applied to java.lang.Object,int
........if (operations.get(operations.size() - 4) > 0) {
..............................................................................^
CompteBancaireReleve.java:112: operator > cannot be applied to java.lang.Object,int
........if (operations.get(operations.size() - 3) > 0) {
..............................................................................^
CompteBancaireReleve.java:119: operator > cannot be applied to java.lang.Object,int
........if (operations.get(operations.size() - 2) > 0) {
..............................................................................^
CompteBancaireReleve.java:126: operator > cannot be applied to java.lang.Object,int
........if (operations.get(operations.size() - 1) > 0) {
..............................................................................^
Note: CompteBancaireReleve.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
5 errors
Peut-être pourras-tu me dire ce que cela signifie ... :S
Merci beaucoup.
nobie-cs
Messages postés
155
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
15 mai 2010
17
>
timidemimi
Messages postés
5
Date d'inscription
lundi 30 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2009
2 déc. 2009 à 23:21
2 déc. 2009 à 23:21
pour affiche tout les élément du arrayList tu doit utiliser une boucle
en plus de sa ta fait une gros erreur operations.get(operations.size() - 1) > 0) c'est un bollean mais pas un int
for(int i=0;i<operations.size();i++){ System.out.println(operations.get(i)); }
en plus de sa ta fait une gros erreur operations.get(operations.size() - 1) > 0) c'est un bollean mais pas un int
timidemimi
Messages postés
5
Date d'inscription
lundi 30 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2009
>
nobie-cs
Messages postés
155
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
15 mai 2010
3 déc. 2009 à 19:29
3 déc. 2009 à 19:29
En fait ArrayList.get() retourne un objet, et je n'avais pas précisé ce que j'allais mettre dans ma liste (en l'occurrence il fallait faire ArrayList<Integer> operations = new ArrayList<Integer>(); ).
Et j'ai effectivement utilisé une boucle pour afficher mes éléments, et du coup j'ai une sorte de bug je continue de chercher mais je ne vois pas le problème :
Code de ma méthode afficher() :
public void afficheReleve() {
........System.out.println("________________________________________________________________________________\n\n");
........System.out.println(" Ancien solde (initial) " + this.solde_initial + " Euros \n");
........System.out.println("________________________________________________________________________________\n\n");
........System.out.println(" LIBELLÉ DÉBIT CRÉDIT \n");
........System.out.println("________________________________________________________________________________\n\n");
........for(int i = 1; i <= this.operations.size() ; i++) {
................if (this.operations.get(i) > 0) {
........................System.out.println(" Opération " + + " +" + this.operations.get(i-1) + " Euros \n");
................}
................else {
........................System.out.println(" Opération " + i + " -" + this.operations.get(i-1) + " Euros \n");
................}
........}
}
Et en gros dans mon terminal j'obtiens ça :
________________________________________________________________________________
Ancien solde (initial)............................................1000.0 Euros
________________________________________________________________________________
LIBELLÉ.......................DÉBIT............................CRÉDIT
________________________________________________________________________________
Opération 2.......................................................+0.0 Euros
Opération 2.......................................................+0.0 Euros
Opération 3.......................................................+300.0 Euros
Opération 4.......................................................+0.0 Euros
Opération 5.................-50.0 Euros
________________________________________________________________________________
Nouveau solde..................................................850.0 Euros
________________________________________________________________________________
Alors que dans mon main() j'ai fait ceci :
CompteBancaireReleve2 c1 = new CompteBancaireReleve2(1000);
c1.debiter(100);
c1.debiter(200);
c1.crediter(300);
c1.debiter(100);
c1.debiter(50);
c1.afficheReleve();
Donc voilà tout ça c'est pas très logique car le code de mes méthodes crediter() et debiter() est juste (vérifié et re-vérifié), et je ne comprends pas comment en commençant ma boucle à i=0 je peux me retrouver avec en première ligne "Opération 2" alors que je dis d'afficher "Opération + (i+1)" .....
Aie aie aie j'espère trouver ça avant demain matin ^^
Et j'ai effectivement utilisé une boucle pour afficher mes éléments, et du coup j'ai une sorte de bug je continue de chercher mais je ne vois pas le problème :
Code de ma méthode afficher() :
public void afficheReleve() {
........System.out.println("________________________________________________________________________________\n\n");
........System.out.println(" Ancien solde (initial) " + this.solde_initial + " Euros \n");
........System.out.println("________________________________________________________________________________\n\n");
........System.out.println(" LIBELLÉ DÉBIT CRÉDIT \n");
........System.out.println("________________________________________________________________________________\n\n");
........for(int i = 1; i <= this.operations.size() ; i++) {
................if (this.operations.get(i) > 0) {
........................System.out.println(" Opération " + + " +" + this.operations.get(i-1) + " Euros \n");
................}
................else {
........................System.out.println(" Opération " + i + " -" + this.operations.get(i-1) + " Euros \n");
................}
........}
}
Et en gros dans mon terminal j'obtiens ça :
________________________________________________________________________________
Ancien solde (initial)............................................1000.0 Euros
________________________________________________________________________________
LIBELLÉ.......................DÉBIT............................CRÉDIT
________________________________________________________________________________
Opération 2.......................................................+0.0 Euros
Opération 2.......................................................+0.0 Euros
Opération 3.......................................................+300.0 Euros
Opération 4.......................................................+0.0 Euros
Opération 5.................-50.0 Euros
________________________________________________________________________________
Nouveau solde..................................................850.0 Euros
________________________________________________________________________________
Alors que dans mon main() j'ai fait ceci :
CompteBancaireReleve2 c1 = new CompteBancaireReleve2(1000);
c1.debiter(100);
c1.debiter(200);
c1.crediter(300);
c1.debiter(100);
c1.debiter(50);
c1.afficheReleve();
Donc voilà tout ça c'est pas très logique car le code de mes méthodes crediter() et debiter() est juste (vérifié et re-vérifié), et je ne comprends pas comment en commençant ma boucle à i=0 je peux me retrouver avec en première ligne "Opération 2" alors que je dis d'afficher "Opération + (i+1)" .....
Aie aie aie j'espère trouver ça avant demain matin ^^
timidemimi
Messages postés
5
Date d'inscription
lundi 30 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2009
>
nobie-cs
Messages postés
155
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
15 mai 2010
3 déc. 2009 à 20:53
3 déc. 2009 à 20:53
Bonsoir,
J'ai finalement pu compiler et tout marche parfaitement ! Erreur d'inattention dans ma classe TestCompte ... ^^
Merci beaucoup pour ton aide =)
Bye
J'ai finalement pu compiler et tout marche parfaitement ! Erreur d'inattention dans ma classe TestCompte ... ^^
Merci beaucoup pour ton aide =)
Bye
nobie-cs
Messages postés
155
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
15 mai 2010
17
3 déc. 2009 à 21:26
3 déc. 2009 à 21:26
si ta pas autre chose à ajouter peut tu modifier le statut du poste stp :)