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

Collection et Stream Java Discussion :

définir un tableau d'objets avec un nombre d'objets en paramètre


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Par défaut définir un tableau d'objets avec un nombre d'objets en paramètre
    Bonjour,

    j'ai étudié java l'année dernière et le comprenais dans l'ensemble assez bien, mais cette année, je m'y remets pour une autre matière sur la programmation avancée, et c'est la catastrophe, j'ai complètement perdu mes réflexes de programmation!

    Je dois créer un programme qui est pourtant très simple, mais je ne comprends pas, je n'y parviens pas.

    On nous demande de créer un tableau de clients qui ont chacun un nom et un montant de dépenses mensuel pour un trimestre.
    La question, finalement simple, est de savoir combien chaque client a dépensé trimestriellement et combien l'ensemble des clients a dépensé mensuellement, au cours d'un trimestre.

    Je m'y mets, confiant, et je bloque sur le truc le plus élémentaire qu'il soit: créer mon tableau d'objets.

    J'ai décidé de commencer simplement en créant un tableau d'objets avec un nombre de clients en paramètre, qui auraient chacun un nom et un tableau de 4 cases (dépenses des 3 mois et dépenses trimestrielles)

    Sans aller plus loin, j'ai testé, et ça ne marche pas! Pourriez-vous m'aider, s'il vous plait? Mon programme se bloque dès le début!

    Je vous mets ce que j'ai fait et vais continuer à chercher par moi-même dans la journée.

    Merci par avance à ceux qui trouveront le temps de m'aider,
    Johnny

    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
     
    class client {
    	private String nom;
    	private int [] tabDepenses = new int [4];
     
    	public void setNomClient(String nom){
    		this.nom = nom;
    	}
     
    	public String getNomClient()
    	{
    		return this.nom;
    	}
    }
     
    class baseClients{
    	int nbClients;
    	client [] tabClients = new client[this.getNbClients()];
     
    	public void setNbClients(int nbClients)
    	{
    		this.nbClients = nbClients;
    	}
     
    	public int getNbClients()
    	{
    		return this.nbClients;
    	}
     
    	public void nombreDeClients(){
    		do
    		{
    			System.out.println("Nombre de clients:");
    			this.nbClients = Terminal.lireInt();
    			if (this.nbClients <= 0)
    			{
    				System.out.println("Le nombre de clients ne peut être négatif ou nul");
    				System.out.println();
    			}
    		} while (this.nbClients <= 0);
    		this.setNbClients(this.nbClients);
    	}
    }
     
    public class Depenses_Trimestrielles {
    	public static void main(String [] args)
    	{
    	   baseClients bc = new baseClients();
    	   bc.nombreDeClients();
    	}
    }

  2. #2
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    Salut,

    Les collections me semble plus indiqué pour ce genre de chose, mais bon.
    Sans aller plus loin, j'ai testé, et ça ne marche pas!
    Je ne vois pas où tu as une erreur ?

    En revanche quand dans baseClients, tu créé ton tableau, nbClients vaut 0.
    Il va donc falloir soit, créer ton tableau dans la méthode setNbClients, ou bien agrandir ton tableau en en faisant une copie.

  3. #3
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    "Ça ne marche pas" et "Mon programme se bloque dès le début" c'est un peu court. Il faudrait expliciter le comportement du programme.

    Cela dit oui tu initialises un tableau de dimension 0, il est fort probable que le problème vienne de la.

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Par défaut
    Citation Envoyé par muad'dib Voir le message
    "Ça ne marche pas" et "Mon programme se bloque dès le début" c'est un peu court. Il faudrait expliciter le comportement du programme.

    Cela dit oui tu initialises un tableau de dimension 0, il est fort probable que le problème vienne de la.
    Eh bien c'est exactement ce qui se passe. Je lance le programme qui me demande le nombre de clients, et ensuite, il est écrit: "arrêté" dans le compilateur.

    Du coup, mon programme ne marche pas et se bloque dès le début (donc aucune erreur indiquée comme une exception par exemple)

  5. #5
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    Citation Envoyé par johnny3 Voir le message
    Eh bien c'est exactement ce qui se passe. Je lance le programme qui me demande le nombre de clients, et ensuite, il est écrit: "arrêté" dans le compilateur.
    Ton programme est tout simplement fini. Il n'est ni bloqué, ni interrompu par une exception. Toutes choses a une fin et les programmes n'échappe pas à cette règle universelle

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Par défaut
    Citation Envoyé par visiwi Voir le message
    Ton programme est tout simplement fini. Il n'est ni bloqué, ni interrompu par une exception. Toutes choses a une fin et les programmes n'échappe pas à cette règle universelle
    lol, je comprends mieux!

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Par défaut
    ah mais oui! C'est vrai que c'est comme ça que l'on faisait. On créait un tableau d'une grande taille (100 par exemple) et, au fur et à mesure que l'on incrémentait le nombre de données (les noms, par exemple), on redimensionnait au final le tableau par une copie.

    Cela me revient à présent.

    En y réfléchissant, je me suis dit qu'une ArrayList devrait bien fonctionner pour ce genre de choses (je n'ai pas encore étudié les collections)

    Je n'ai que peu pratiqué les ArrayList, mais je vais regarder comment on fait (je vais en profiter pour lire des choses sur les collections)

    Merci!

    Dès que j'ai écrit quelque chose dessus, je vous le montre.

    Johnny

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Macro envoyer objet avec choix de l'objet
    Par caronjo dans le forum Macros Access
    Réponses: 0
    Dernier message: 31/10/2013, 16h27
  2. Réponses: 36
    Dernier message: 15/05/2013, 13h44
  3. Réponses: 0
    Dernier message: 11/10/2012, 18h35
  4. Une méthode void avec un nombre non prédéfini de paramètres
    Par ROUGE87 dans le forum Général Java
    Réponses: 10
    Dernier message: 26/04/2011, 17h13
  5. Réponses: 3
    Dernier message: 10/03/2011, 11h49

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