Pb avec un programme en java

Résolu/Fermé
JAVAdeb - 14 oct. 2007 à 18:39
 fanette - 23 mars 2008 à 20:50
Bonjour,
j'ai un pb avec une programme . je vous informe que j ss encore un débutant
dans une partie d'un programme, lors de la création d'un objet, quand j'utilise ce code ça marche :

ClientDeLaBanque A= new ClientDeLaBanque(1000.0,2000.0,100.0,30.0);
ClientDeLaBanque B=new ClientDeLaBanque(3000.0,4000.0,333.0,90.0);

Mais qd je met ça :

ClientDeLaBanque A,B;
A= new ClientDeLaBanque(1000.0,2000.0,100.0,30.0);
B=new ClientDeLaBanque(3000.0,4000.0,333.0,90.0);

dans la compilation s'affiche l'erreur "Identfier" Expected pour A et B!!!!!!!!

Dans le cours on a appri que les deux façons sont les mêmes, je le trouve pas . Merci de m'expliquez
A voir également:

19 réponses

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
14 oct. 2007 à 19:16
Tu es sur que c'est le bon code ca, enfin celui-ci excactement? non dispatché? car je te l'affirme cela doit marcher.
0
c le bon code , avc le premier il marche , avec le 2 ème non , je sais pas ou est le pb !!!!
0
Si tu veux je peux poser tout le programme
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
14 oct. 2007 à 19:20
Attend attend quel programme ne marche pas?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ça

ClientDeLaBanque A,B;
A= new ClientDeLaBanque(1000.0,2000.0,100.0,30.0);
B=new ClientDeLaBanque(3000.0,4000.0,333.0,90.0);
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
14 oct. 2007 à 19:22
Bah pourtant c'est impossible que ca ne marche pas
0
je sais pas quoi !!!!!!! mais ça marche pas je suis sûr
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
14 oct. 2007 à 19:25
Tu peux donnner tout ton code que je puisse tester la compilation? Enfin sauf si c'est trop long bien sur.
0
public class Banque2 {
public static void main(String[] args){
Compte C;
C=new Compte();
System.out.println("Donnees avant le bouclement des comptes :") ;
C.afficherAvantBouclement();
System.out.println("Donnees apres le bouclement des comptes :") ;
C.afficherApresBouclement();
}}

class Compte{
private double taux1=0.01,taux2=0.02;
ClientDeLaBanque A= new ClientDeLaBanque(1000.0,2000.0,"Mohammed","Oujda");
ClientDeLaBanque B=new ClientDeLaBanque(3000.0,4000.0,"Saad","Rabat");
private double bouclerCompte(double solde,double taux){
return (solde+(solde*taux));
}
void afficherAvantBouclement(){
A.afficherClient(A.getSolde1(),A.getSolde2());
B.afficherClient(B.getSolde1(),B.getSolde2());
}

void afficherApresBouclement(){
A.afficherClient(bouclerCompte(A.getSolde1(),taux1),bouclerCompte(A.getSolde2(),taux2));
B.afficherClient(bouclerCompte(B.getSolde1(),taux1),bouclerCompte(B.getSolde2(),taux2));
}}


class ClientDeLaBanque{

private double solde1,solde2;
private String nom,ville;
ClientDeLaBanque (double a, double b, String A, String B){
solde1=a;
solde2=b;
nom=A;
ville=B;
}
double getSolde1(){
return solde1;}
double getSolde2(){
return solde2;}
void afficherClient(double solde1,double solde2){
System.out.println("client "+nom+" de "+ville);
System.out.println("Compte prive : "+ solde1+" dh");
System.out.println("Compte d'epargne : "+ solde2+" dh");

}
}
0
essaye de changer :

ClientDeLaBanque A= new ClientDeLaBanque(1000.0,2000.0,"Mohammed","Oujda");
ClientDeLaBanque B=new ClientDeLaBanque(3000.0,4000.0,"Saad","Rabat");

Par :

ClientDeLaBanque A,B;
A= new ClientDeLaBanque(1000.0,2000.0,"Mohammed","Oujda");
B=new ClientDeLaBanque(3000.0,4000.0,"Saad","Rabat");

et dis moi si ça marche /// courage
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
14 oct. 2007 à 19:28
Courage non je sais déjà que ca va marcher, sinon c'est une erreur dans ton code.
0
Alors?
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
14 oct. 2007 à 19:37
public class Banque2
{
public static void main(String[] args){
Compte C;
C=new Compte();
System.out.println("Donnees avant le bouclement des comptes :") ;
C.afficherAvantBouclement();
System.out.println("Donnees apres le bouclement des comptes :") ;
C.afficherApresBouclement();
}
}

class Compte
{
private double taux1=0.01,taux2=0.02;

ClientDeLaBanque A;
ClientDeLaBanque B;

public Compte()
{
A = new ClientDeLaBanque(1000.0,2000.0,"Mohammed","Oujda");
B = new ClientDeLaBanque(3000.0,4000.0,"Saad","Rabat");
}

private double bouclerCompte(double solde,double taux)
{
return (solde+(solde*taux));
}
void afficherAvantBouclement()
{
A.afficherClient(A.getSolde1(),A.getSolde2());
B.afficherClient(B.getSolde1(),B.getSolde2());
}

void afficherApresBouclement()
{
A.afficherClient(bouclerCompte(A.getSolde1(),taux1),bouclerCompte(A.getSolde2(),taux2));
B.afficherClient(bouclerCompte(B.getSolde1(),taux1),bouclerCompte(B.getSolde2(),taux2));
}
}


class ClientDeLaBanque
{
private double solde1,solde2;
private String nom,ville;
ClientDeLaBanque (double a, double b, String A, String B){
solde1=a;
solde2=b;
nom=A;
ville=B;
}
double getSolde1(){
return solde1;}
double getSolde2(){
return solde2;}
void afficherClient(double solde1,double solde2){
System.out.println("client "+nom+" de "+ville);
System.out.println("Compte prive : "+ solde1+" dh");
System.out.println("Compte d'epargne : "+ solde2+" dh");

}
}

Ca c'est tout à fait normal que cela ne marche pas, car tu n'es pas dans une fonction. Tu ne peux pas donc déclarer tes variables dans l'entête de ta classe et les modifier ensuite. Par contre comme je te l'ai mis plus haut ca marche. Car c'est dans le constructeur de la classe. Ca c'est java qui définit ca.
0
Oui Merci , donc ça veut dire qu'on est obligé de les modifier dans une fonction et pas ailleurs , même si les données ne sont pas privés ?!
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
14 oct. 2007 à 19:45
C'est pas ce que je voulais dire :


class Compte
{
ClientDeLaBanque A;
ClientDeLaBanque B;

public Compte()
{
A = new ClientDeLaBanque(1000.0,2000.0,"Mohammed","Oujda");
B = new ClientDeLaBanque(3000.0,4000.0,"Saad","Rabat");
}

Ca ca marche.

class Compte
{
private double taux1=0.01,taux2=0.02;

ClientDeLaBanque A;
ClientDeLaBanque B;

A = new ClientDeLaBanque(1000.0,2000.0,"Mohammed","Oujda");
B = new ClientDeLaBanque(3000.0,4000.0,"Saad","Rabat");

Ca java ne le permet pas. sinon tu peux y accéder de l'extérieurde ta calsse sans souci.


0
Mais pk avec ça marche :

ClientDeLaBanque A = new ClientDeLaBanque(1000.0,2000.0,"Mohammed","Oujda");
ClientDeLaBanque B = new ClientDeLaBanque(3000.0,4000.0,"Saad","Rabat");

sans le constructeur!
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
14 oct. 2007 à 19:50
Parce que tu définis tout en une seul fois !!!
0
Oui Oui je vois le pb . désolé Merci bien mon ami , Merci bcp
0
Slt j'ai un besoin d'un prog simplexe en java
0