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 :

Paramétre à passer pour une méthode


Sujet :

avec Java

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Paramétre à passer pour une méthode
    Bonjour
    Je fais un exercice en Java qui dit que je dois créer une classe java comme celle-là
    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
    package partie_II;
     
    public class Ouvrier {
    	public int CodeOuv;
    	public String Nom;
    	public String Prenom;
    	public String GSM;
    	public Ouvrier() {
    		this.CodeOuv =0;
    		this.Nom = null;
    		this.Prenom = null;
    		this.GSM = null;
    	}
    	public Ouvrier(int codeOuv, String nom, String prenom, String gSM) {
    		this.CodeOuv = codeOuv;
    		this.Nom = nom;
    		this.Prenom = prenom;
    		this.GSM = gSM;
    	}
    	public int getCodeOuv() {
    		return CodeOuv;
    	}
    	public void setCodeOuv(int codeOuv) {
    		CodeOuv = codeOuv;
    	}
    	public String getNom() {
    		return Nom;
    	}
    	public void setNom(String nom) {
    		Nom = nom;
    	}
    	public String getPrenom() {
    		return Prenom;
    	}
    	public void setPrenom(String prenom) {
    		Prenom = prenom;
    	}
    	public String getGSM() {
    		return GSM;
    	}
    	public void setGSM(String gSM) {
    		GSM = gSM;
    	}
    	public String AfficheOuv()
    	{
    		return ("Le code d'Ouvrier est : \t"+CodeOuv+"\nSon prénom est :\t"+Prenom+"\nSon nom est :\t"+Nom+"\nSon Num GSM est :\t"+GSM);
    	}
     
     
     
    }
    Aprés je dois créer une autre classe dont y a une méthode ranger(...) permettant de ranger une liste des ouvriers dans un tableau et une autre trier(...) permettant de trier ce tableau par CodeOuv dans l'ordre croissant.
    Mon probléme c'est que je me suis bloqué dans la deuxiéme classe
    J'ai fais ça
    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
    package partie_II;
     
    import java.util.Scanner;
     
    public class Test extends Ouvrier {
    	Scanner sc = new Scanner(System.in);
     
    	public void ranger(Ouvrier Ouv)
    	{
    		int i;
    		Ouvrier Tableau[]=new Ouvrier[20];
    		for(i=0;i<20;i++)
    		{
    			Tableau[i]=
     
    		}
     
    	}
     
    }

  2. #2
    Membre habitué
    Homme Profil pro
    En rupture avec la societé
    Inscrit en
    Novembre 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : En rupture avec la societé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 144
    Points : 194
    Points
    194
    Par défaut
    salut

    je ne connais pas toutes les subtilités de java ca fait a peine 3 jours que je me suis mis

    il serait plus simple que tu crée une méthode qui passe en paramètre un objet ouvrier que tu insère dans un index de ton tableau d'objet.

    je pense qu'il doit certainement exister une interface pour pour ce type de problème. qui te soulagera certaine contrainte de tri et/ou autre lié a l'utilisation d'un array.

    dans ce que tu présente je serai plus dans cette démarche, maintenant je ne pense pas qu il soi obligatoire de mettre en place héritage pour cela.

    une autre option possible est de passé le champ compteur en static pour les éventuelles instances multiple de cette class
    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
     
     
    public class test {
     
    	private ouvrier tbl[];
    	private int compteur;
     
    	public test(int nbr){
     
    		//initialise un tableau de x objet ouvrier
    		tbl = new ouvrier[nbr];
    	}
     
    	public void range(ouvrier objet){
    		//incremente le compteur pour l'index du tableau
    		this.compteur++;
    		//Ajoute l'objet ouvrier a l'element du tableau
    		tbl[this.compteur] = objet;
    	}
     
    }
    dans ta class ouvrier inutile d'initialiser les champs dans le constructeur, java le fait par défaut. Les champs de ta class devrai être en private ou en protected afin de respecter l'encapsulation.

    bon courage

  3. #3
    Nouveau membre du Club
    Profil pro
    Doctorant en informatique théorique
    Inscrit en
    Décembre 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Doctorant en informatique théorique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 28
    Points : 32
    Points
    32
    Par défaut
    Salut,

    Si j'ai bien compris l'énoncé, tu n'as aucunement besoin de créer une classe qui hérite d'Ouvrier (intuitivement, Test extends Ouvrier ca a peu de sens, et de toutes facons, dans ce cas ci ca n'a pas d'interet).

    Tu dois simplement créer une classe qui contient une liste d'objets Ouvrier. Initialement, cette liste est vide (ton constructeur sert donc uniquement à l'instancier). Ta méthode ranger prendrait un Ouvrier en argument (comme tu l'as fait) et ajouterait simplement en dernière position de la liste l'ouvrier en question. La méthode de tri quant à elle ne nécessite aucun argument, elle ne fait que trier la liste, qui est connue dans la classe.

    Note également que si le nombre d'ouvriers a stocker est inconnu, l'objet ArrayList de java.util (à importer) est certainement plus simple à utiliser qu'un tableau (tu ne dois pas spécifier la taille maximale à l'initialisation).

Discussions similaires

  1. [PHP 5.3] Exiger certains paramètres pour une méthode
    Par éric1 dans le forum Langage
    Réponses: 10
    Dernier message: 29/07/2009, 11h45
  2. Réponses: 6
    Dernier message: 07/07/2007, 16h51
  3. Nombre de paramètres variables pour une procédure [SQLSERVER2005]
    Par chti_vince dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 07/07/2007, 11h59
  4. Réponses: 2
    Dernier message: 27/04/2007, 10h07
  5. connaitre les paramètres demandés par une méthode
    Par von_magnus dans le forum Tkinter
    Réponses: 4
    Dernier message: 25/07/2006, 14h22

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