Execution de programme
ben ashra
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
j'aimerais avoir de l'aide concernant l'exécution d'un programme java.
lorsque je lance la compilation de mon programme sous MyEclipse 6.0.1, ce que j'utilise:
import java.io.*;
import java.util.Scanner;
class compte_bancaire
{
//definition des attributs
private float solde;
private String numcompt;
private String nomclient;
//definition du constructeur
public compte_bancaire(String NC,String nomclt,float s)
{
solde=s;
numcompt=NC;
nomclient=nomclt;
}
//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 compte_bancaire compte;
public static void main(String[]args)
{
String NC,nomclt;
float s;
System.out.print("donner le numero du compte");
try
{
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.parse float(sc.Readline());
}
catch(IoExeption e)
{
System.out.print("Erreur d'entrée / sorie");
System.exit(1);
}
compte=new compte_bancaire(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();
}
}
les messages suivants apparaissent:
java.lang.NoClassDefFoundError: Compte_bancaire (wrong name: compte_bancaire)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Exception in thread "main"
j'aimerais avoir de l'aide concernant l'exécution d'un programme java.
lorsque je lance la compilation de mon programme sous MyEclipse 6.0.1, ce que j'utilise:
import java.io.*;
import java.util.Scanner;
class compte_bancaire
{
//definition des attributs
private float solde;
private String numcompt;
private String nomclient;
//definition du constructeur
public compte_bancaire(String NC,String nomclt,float s)
{
solde=s;
numcompt=NC;
nomclient=nomclt;
}
//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 compte_bancaire compte;
public static void main(String[]args)
{
String NC,nomclt;
float s;
System.out.print("donner le numero du compte");
try
{
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.parse float(sc.Readline());
}
catch(IoExeption e)
{
System.out.print("Erreur d'entrée / sorie");
System.exit(1);
}
compte=new compte_bancaire(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();
}
}
les messages suivants apparaissent:
java.lang.NoClassDefFoundError: Compte_bancaire (wrong name: compte_bancaire)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Exception in thread "main"
A voir également:
- Execution de programme
- Programme demarrage windows - Guide
- Programme word gratuit - Guide
- Message programmé - Guide
- Télécharger le programme de pmu - Télécharger - Médias et Actualité
- Mettre en veille un programme - Guide
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"
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