IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

utiliser des tableaux dans une class


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 36
    Points : 28
    Points
    28
    Par défaut utiliser des tableaux dans une class
    Bonjour, j'ai quelques soucis avec la prog. objet:
    J'ai un tableau de 3 valeurs pour chaque client. Je saisi tout au clavier. J'ai fait une methode pour afficher la saisi, une autre pour la somme du tableau.
    Mon problème c'est qu'il affiche rien avec les methodes, je n'ai pas d'erreur à la compilation et je saisi bien mes valeurs au clavier.
    J'ai essayé une boucle dans le main, il m'affiche toujours le même tableau, le dernier saisi.
    Merci de votre aide,j'aimerai bien comprendre mes erreurs et arriver à faire de prog.objet!

    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
    import java.util.Scanner;
    class Compte{
    	String Nom;
    	double[]SommeMois;
     
    	Compte(String Nom){  //constructeur
    		this.Nom=Nom;
    		this.SommeMois=new double[3];		
    	}
    	Compte(){  //constructeur
    		this.Nom=Nom;
    		this.SommeMois=new double[3];		
    	}
    	void afficherCompteClient(){
    		System.out.println("nom du client: " + this.Nom);
    		System.out.println("Somme par Mois:");
    		for(int i=0; i<this.SommeMois.length;i++)
    			System.out.println("Somme du mois " + (i+1) + "=" +this.SommeMois[i]);
    		}
    	void afficherSommeTrimestre(){
    		System.out.println("nom du client: " + this.Nom);
    		double somme=0.0;
    		for(int i=0; i<this.SommeMois.length;i++)
    			somme=somme + this.SommeMois[i];
    		System.out.println("Somme par Trimestre: " + somme);
    		}
    }
    public class EssaiClassTab{
    	public static void main(String[]args){
    		double somme=0.0;
    		Scanner sc = new Scanner(System.in); 
    		System.out.print("Combien de clients:");
    		int n =sc.nextInt();
    		System.out.println(" ");
    		Compte[]tabCompte=new Compte[n];
    		double[]SommeMois=new double[3];
    		for (int i=0;i<tabCompte.length;i++){
    			tabCompte[i]=new Compte();
    			System.out.print("saisir nom Client" +( i+1) + " : ");
    			tabCompte[i].Nom=sc.nextLine();
    			sc.nextLine();
    			for (int j=0;j<SommeMois.length;j++){				
    				System.out.print("saisir Somme du Client " + (i+1) + " : ");
    				SommeMois[j]=sc.nextDouble(); //OK
    			}
    			System.out.println(" ");	
    		}
    		System.out.println("" + tabCompte[0].Nom + tabCompte[0].SommeMois);
     
    		System.out.println(" ");
     
    		tabCompte[0].afficherCompteClient();
     
    		System.out.println(" ");
     
    		tabCompte[0].afficherSommeTrimestre();
     
    		System.out.println(" ");
     
    		for (int i=0;i<tabCompte.length;i++){
    			System.out.println("nom du client: " + tabCompte[i].Nom);
    			for(int j=0; j<SommeMois.length;j++){
    				System.out.println("Somme du mois " + (j+1) + "=" + SommeMois[j]);
    				somme+=SommeMois[j];
     
    			}
    			System.out.println("Somme par Trimestre: " + somme);
    			System.out.println(" ");
    		}
    	}
    }

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    double[]SommeMois=new double[3];
    		for (int i=0;i<tabCompte.length;i++){
    			//.....
    			for (int j=0;j<SommeMois.length;j++){				
    				//....
    				SommeMois[j]=sc.nextDouble();
    Vous stockez toutes les valeurs lues à chaque fois dans le meme tableau SommeMois initialisé avant la boucle et qui n'a rien à voir avec le compte.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    effectivement, j'ai corrigé en déclarant le tableau du type de la class mais j'ai une erreur à la compilation lorsque j'essaie de saisir le tableau SommeMois, il me dit :incomptatible type found double required double[]
    Merci pour votre aide

    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
    import java.util.Scanner;
    class Compte{
    	String Nom;
    	double[]SommeMois;
     
    	Compte(String Nom){  //constructeur
    		this.Nom=Nom;
    		this.SommeMois=new double[3];		
    	}
    	Compte(){  //constructeur
    		this.Nom=Nom;
    		this.SommeMois=new double[3];		
    	}
    	void afficherCompteClient(){
    		System.out.println("nom du client: " + this.Nom);
    		System.out.println("Somme par Mois:");
    		for(int i=0; i<this.SommeMois.length;i++)
    			System.out.println("Somme du mois " + (i+1) + "=" +this.SommeMois[i]);
    		}
    	void afficherSommeTrimestre(){
    		System.out.println("nom du client: " + this.Nom);
    		double somme=0.0;
    		for(int i=0; i<this.SommeMois.length;i++)
    			somme=somme + this.SommeMois[i];
    		System.out.println("Somme par Trimestre: " + somme);
    		}
    }
    public class Module2_Exo1_2{
    	public static void main(String[]args){
    		double somme=0.0;
    		Scanner sc = new Scanner(System.in); 
    		System.out.print("Combien de clients:");
    		int n =sc.nextInt();
    		System.out.println(" ");
    		Compte[]tabCompte=new Compte[n]; //creation d'un tableau de type compte pour les noms
    		Compte[]tabSommeMois=new Compte[3]; //creation d'un tableau de type compte pour les sommes
    		for (int i=0;i<tabCompte.length;i++){
    			tabCompte[i]=new Compte();//chaque case référence un objet de type compte
    			System.out.print("saisir nom Client" +( i+1) + " : ");
    			tabCompte[i].Nom=sc.nextLine(); //je remplie les cases avec le nom
    			sc.nextLine();
    			for (int j=0;j<tabSommeMois.length;j++){
    				tabSommeMois[i]=new Compte(); // chaque case de tabSommeMois est de type Compte			
    				System.out.print("saisir Somme du Client " + (i+1) + " : ");
    				tabCompte[i].SommeMois=sc.nextDouble();// je saisie les sommes pour chaque clients
    			}
     
     
    		}
    	}
    }

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Personne n'a parlé de type. double c'est bien.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Gérer des tableaux dans une classe
    Par vortx dans le forum Qt
    Réponses: 4
    Dernier message: 12/12/2013, 13h15
  2. Réponses: 1
    Dernier message: 12/12/2007, 14h46
  3. Réponses: 4
    Dernier message: 22/06/2007, 19h02
  4. Pouvoir gérer les actions des boutons dans une classe
    Par Cyborg289 dans le forum Composants
    Réponses: 2
    Dernier message: 08/07/2005, 13h08
  5. Réponses: 2
    Dernier message: 27/03/2005, 17h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo