Bonjour,
J'ai beau chercher et modifier certaines parties du code mais je n'arrive pas à trouver ce qui ne va pas, mon programme plante.
Voici mon code
Classe CompteClasse Client
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 public class Compte { private float solde; private int numero; void depot(float valeur) { solde =solde+valeur; } void retrait(float valeur) { if (solde>0) solde=solde-valeur; } float getsolde() { return solde;} void affichesolde() { System.out.println("votre solde est de "+solde); } void virer(float valeur, Compte destinataire) { destinataire.depot(valeur); } int getnumero() { return numero; } }Classe Banque
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 import java.util.Scanner; public class Client { private Compte [] comptes=new Compte[100]; private String nom ; private int nbcompte=0; public Client(String nomc) {nom=nomc;// on donne un nom au client ajoutercompte(); } void ajoutercompte() { nbcompte++; comptes[nbcompte]=new Compte(); } String getnom() {return nom; } float totalsolde()// retourne le somme des solde des compte d'un client {float somme=0; for(int i=0;i<nbcompte;i++) {somme =somme+comptes[i].getsolde(); } return somme; } public Compte getCompte(int numero) { return comptes[numero]; } void affichesolde() { System.out.println("le solde total de client est"+totalsolde()); } public void afficherbilanc() {System.out.println("afficher le bilan du client!!!"+nom); for(int i=0;i<nbcompte;i++) System.out.println("le solde du compte numero "+i+"est de "+comptes[i].getsolde());} void interactioncli() {Scanner sc =new Scanner(System.in); int choix=0; Boolean test=true; while(test==true) {System.out.println("**********MENU CLIENT********"); System.out.println("quelle operation voulez vous effectuer sur le client?"+nom); System.out.println(" 1) Faire un dépot"); System.out.println(" 2) Faire un retrait"); System.out.println(" 3) Faire un virement"); System.out.println(" 4) Créer un compte"); System.out.println(" 5) Afficher le bilan des comptes"); System.out.println(" 6) Revenir au menu princial"); choix =sc.nextInt(); switch(choix){ case 1: { } } } } }Classe Test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 import java.util.Scanner; public class Banque { private Client [] clients=new Client[100]; private int nbclients=0; void ajouterClient(String nom) {nbclients++; clients[nbclients]=new Client(nom); } int getnbclients() {return nbclients ;} void afficherbilan() { for(int i=0;i<=nbclients;i++) clients[i].afficherbilanc(); } public void interaction() {boolean test=true; Scanner sc =new Scanner(System.in); int choix; String nomm; while(test) { System.out.println(" **********MENU BANQUE***********"); System.out.println("quelle operation vous les vous effectuer?"); System.out.println("1-Ajouter un client"); System.out.println("2-effectuer une operation sur un client"); System.out.println("3-afficher un bilan genrale"); System.out.println("4-sortir!!!"); choix =sc.nextInt(); switch(choix) { case 1: {System.out.println(" entrez le nom du client"); Scanner scc =new Scanner(System.in); String nom =scc.nextLine(); ajouterClient(nom); System.out.println("le nb de clients est "+this.getnbclients()); System.out.println("le client "+this.clients[getnbclients()].getnom()+" a bien été ajouté"); } break ; case 2:{ System.out.println("sur quel client?"); Scanner src = new Scanner(System.in); String nom = src.nextLine(); System.out.println("22222"); for(int i=0;i<=nbclients;i++) { System.out.println("wa33333333333"); nomm=clients[i].getnom(); if( nom.equals(nomm)) {System.out.println("2222222222222222222"); clients[i].interactioncli();} else System.out.println("le client n'existe pas desolé :/"); } } break ; case 3:{//System.out.println(" :/"); // afficherbilan();}// y'a un pb for( int i=0;i<nbclients;i++) {System.out.println("le nom du client est "+clients[i].getnom()); } } break; case 4: { System.out.println(" ravie de vous a voir aidé :D"); test=false;} break ; } } } }L'opération 1-Ajouter un client fonctionne, cependant lorsque je tente l'opération 2-effectuer une operation sur un client mon programme plante au niveau de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class Test { /** * @param args */ public static void main(String[] args) { Banque banquefe=new Banque(); banquefe.interaction(); } }Pourquoi je ne sais pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part nomm=clients[i].getnom();
J'ai beau chercher, je n'ai rien trouvé.
Pour information, les System.out.println m'aident à localiser l’arrêt, ce qui explique les suites de 22222 et de 333.
Quelqu'un saurait-il m'indiquer ce qui pose problème ?
Merci d'avance pour votre aide.
Partager