Erreur dans programme java
Résolurapidegoyes Messages postés 92 Date d'inscription samedi 22 février 2020 Statut Membre Dernière intervention 16 octobre 2024 - 11 juil. 2024 à 22:59
- Erreur dans programme java
- Erreur 0x80070643 - Accueil - Windows
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java bible - Forum Téléchargement
4 réponses
9 juil. 2024 à 08:31
Bonjour
pour répondre "bêtement" à ta question, à aucun moment tu n'apppelles la méthode de calcul.
Mais, je t'invite à réfléchir à tes signatures et tes noms de variables.
En général, on appelle somme ou montant hors taxe le montant avant application de la TVA et somme pu montant TTC pour toutes taxes comprises le,montant avec la TVA.
Pour tes signatures, pourquoi mettre "sommeTVA" en paramètre du constructeur puisque le rôle de la classe est de calculer cette valeur?
Et calculTVA est une méthode de la classe, elle a donc accès aux champs privés, elle n'a donc pas besoin de paramètres. Il n'est pas non plus nécessaire qu'elle retourne une valeur (mais elle peut), par contre elle doit affecter le champs privés.
De plus des paramètres du même noms que les champs privés ça peut poser des problèmes si on oublie ensuite d'utiliser this quand c'est nécessaire
11 juil. 2024 à 22:23
Bonsoir à tous,
Un grand merci de m'avoir répondu !
Je ne suis pas un étudiant mais un retraité de 84 au jus.
La programmation est devenu mon passe temps.
Tout simplement j'essaie de comprendre la poo en java.
J'ai simplifié mon essai en tenant compte de vos remarques.
Et j'ai suivi un tuto en tenant compte des conseils ci-dessous
L'opérateur new se charge de créer une instance de la classe et de l'associer à la variable
L'opérateur new est un opérateur de haute priorité qui permet d'instancier des objets et d'appeler une méthode particulière de cet objet
Je veux tout simplement mieux comprendre avec un exercice à ma sauce !!!
Je bute sur la sortie suivante : Il reste dans la poche de bibi :0
Normalement je devrai avoir le chiffre 190
voici mon code
package essaiPOO1; public class PooEssai { public static void main(String[] args) { // TODO Auto-generated method stub imprimer(); } public static void imprimer() { //L'opérateur new se charge de créer une instance de la classe Soustraction Soustraction reste = new Soustraction(200,10,0); //new permet d'instancier des objets et d'appeler une méthode particulière de cet objet System.out.println("Il reste dans la poche de bibi :" + reste.resteAbibi); } } class Soustraction { int bibiPossède; //variables int totoLuiPrend; int resteAbibi; //constructeur public Soustraction (int bibiPossède, int totoLuiPrend, int resteAbibi) { this.bibiPossède = bibiPossède; this.totoLuiPrend = totoLuiPrend; this.resteAbibi = resteAbibi; } public double calculTVA(){ resteAbibi = (bibiPossède - totoLuiPrend); return resteAbibi; } }// fin de la class Soustraction
11 juil. 2024 à 22:44
Re Bonsoir,
J'ai corrigé mon code au niveau du constructeur mais j'ai toujours le résultat erroné suivant: Il reste dans la poche de bibi :0
Merci pour toute aide
cordialement
rapidegoyes
Le code:
package essaiPOO1; public class PooEssai { public static void main(String[] args) { // TODO Auto-generated method stub imprimer(); } public static void imprimer() { //L'opérateur new se charge de créer une instance de la classe Soustraction Soustraction reste = new Soustraction(200,10); //new permet d'instancier des objets et d'appeler une méthode particulière de cet objet System.out.println("Il reste dans la poche de bibi :" + reste.resteAbibi); } } class Soustraction { int bibiPossède; //variables int totoLuiPrend; int resteAbibi; //constructeur public Soustraction (int bibiPossède, int totoLuiPrend) { this.bibiPossède = bibiPossède; this.totoLuiPrend = totoLuiPrend; } public double calculReste(){ resteAbibi = (bibiPossède - totoLuiPrend); return resteAbibi; } }// fin de la class Soustraction
11 juil. 2024 à 22:59
Re Bonsoir à tous,
J'ai trouvé mon erreur:
System.out.println("Il reste dans la poche de bibi :" + reste.calculReste());
j'avais tout bêtement appelé ma variable au lieu de la méthode de calcul.
l'erreur + reste.resteAbibi
Très cordialement à +++
rapidegoyes
9 juil. 2024 à 13:14
Bonjour,
Je plussoie.
Si la conception était bien faite, il n'y aurait pas de raison de tomber sur un piège aussi bête.
Le typage de tes objets est primordial, pour savoir ce que tu manipules et ne pas se tromper.
Si tu mets des double partout, tu ne sais plus ce que tu manipules et au final ta classe sers juste à faire une multiplication de manière compliquée...
Voici une proposition de typage :
9 juil. 2024 à 20:11
Salut
oui bien sûr, mais je ne sais pas si rapidegoyes en est là dans sa formation.