A voir également:
- Execution de programme
- Programme demarrage windows 10 - Guide
- Mettre en veille un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Forcer la fermeture d'un programme - Guide
- Sms programmé - Guide
1 réponse
Aladin230
Messages postés
24
Date d'inscription
lundi 23 mars 2009
Statut
Membre
Dernière intervention
29 juillet 2009
1
23 mars 2009 à 23:39
23 mars 2009 à 23:39
essaiez de modifier le nom de votre classe CompteBancaire par exp (n'oublier pas de le modifier dans le constructeur)
de plus vous avez une erreur dans lappel et l'écriture de la methode parseFloat
ecriture correcte: s=Float.parseFloat(sc.readLine() )
de plus vous avez une erreur dans lappel et l'écriture de la methode parseFloat
ecriture correcte: s=Float.parseFloat(sc.readLine() )
25 mars 2009 à 20:53
import java.io.*;
import java.util.Scanner;
class exp
{
//definition des attributs
private float solde;
private char numcompt;
private char nomclient;
//definition du constructeur
public exp(char nc,char nomclt,float s)
{
solde=s;
numcompt=nc;
nomclient=nomclt;
}
public exp(String nc, Object nomclt, float s) {
// TODO Auto-generated constructor stub
}
//definition des methodes
public void verser(float mt)
{
solde=solde+mt;
}
public void retirer(float mt)
{
if(mt>solde)
{
System.out.print("solde insuffisant pour ce montant");
}
else
{
solde=solde-mt;
}
}
public float lire_solde()
{
return solde;
}
public void visualiser_solde()
{
System.out.print("votre solde est :"+solde);
}
}
class application
{
public static exp compte;
public void main(char[]args) throws IOException
{
String NC;
Object nomclt;
float s;
System.out.print("donner le numero du compte");
Scanner sc=(new Scanner(System.in));
NC=sc.nextLine();
System.out.print("donner le nom du client");
nomclt=sc.nextLine();
System.out.print("donner le solde d'ouverture");
s=Float.parseFloat(sc.nextLine());
compte=new exp(NC,nomclt,s);
//operation de versement doublant le solde
compte.verser(compte.lire_solde());
compte.visualiser_solde();
//operation de retrait du quart du solde
compte.retirer(1/4*compte.lire_solde());
compte.visualiser_solde();
}
}
mais je reçois toujours des messages d'erreur, pas comme la derniere fois. cette foi c'est:
java.lang.NoSuchMethodError: main
Exception in thread "main"
26 mars 2009 à 04:39
Bon c'est parceque ta class exp n'a pas de methode main.
Remarque :
-Il vaudrait mieux nommer la class exp >>>>> public class Exp (Exp pour respecter la convention des nom de class qui doit commencer par une majuscule) mais là n'est pas le problème, mais c'est une bonne habitude à prendre.
Même remarque pour les noms de variables ou de méthodes, mais c'est l'inverse, le nom doit commencer par une minuscule exemple String Nc pour le n° de compte devrait être String nc, ou nC ou numCompte
Une solution à essayer car il semble que c'est la classe Application qui doit faire appel à la classe Exp :
Couper la class application (à renommer également public class Application) et la coller comme nouveau fichier dans ton éditeur ceci avec les 2 imports:
import java.io.*;
import java.util.Scanner;
qui lui seront nécessaires, mais plus dans Exp.
Ne pas oublier dans Exp de changer également exp en Exp dans le constructeur ainsi que partout où il est fait appel à exp. De toutes manières la compile te dira si tu en as oublié.
Compiler les 2 classes Exp et Application puis executer Application (mais pas Exp).
Normalement il n'y aura plus d'erreur et tu pouras avancer dans la mise au point. (sí les modifications sont faites correctement, ou si je n'ai rien oublié)
N'hésites pas si tu rencontres des difficultés.
Cordialement,
Dan