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 :

aide programmation débutant


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 26
    Points : 5
    Points
    5
    Par défaut aide programmation débutant
    Bonjour,
    débutant en java je voudrais résoudre ce petit sujet, je l'ai commencé mais rencontre des problemes. Pourriez vous me dire si je suis bien parti pour l'instant.
    Merci d'avance.

    Ecrire la classe abstraite Vehicule
    Attributs :
    * nbPlace
    * prix
    * volumeChargement

    Ecrire la classe Voiture héritant de Vehicule
    Attribut : booleen : diesel
    * Le constructeur verifiera que nbPlace >= 4 (sinon nbPlace sera mis à 4) et volumeChargement<=100 (sinon volumeChargement sera mis à 100)
    * Une surcharge des méthodes equals et toString
    * Ecrire les accesseurs et mutateurs

    Ecrire la classe Garage permettant de gérer une liste de Véhicule(s)
    * Ajouter un Véhicule
    * Supprimer un Véhicule
    * Afficher tous les Véhicules



    Voici la classe abstraite Vehicule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public abstract class Vehicule
    {
        private int nbPlace;
        private int prix;
        private int volumeChargement;
    }

    La classe Voiture heritant de Vehicule
    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
     
     
     
    public class Voiture
     
    {
        private boolean diesel;
        private int place;
        private int prix;
        private int chargement;
     
     
        public Voiture ()
        {
            place=0;
            prix=0;
            chargement=0;
            diesel=false;
        }
     
        public Voiture (boolean d, int p, int pr, int c)
        {
            diesel=d;
            place=p;
            prix=pr;
            chargement=c;
        }
     
        public int Voiture(int p, int v)
        {
                if (place>=4)
                {
                    return (p=place);
                }
                else 
                {
                    return p=4;
                }
     
            if(chargement<=100)
            {
                return v=chargement;
            }
            else
            {
               return v=100;
            }
     
        }
     
     
        public int getnbPlace()
        {
            return place;
        }
     
    }
    Voilà ce que j'ai fait pour l'instant, petit probleme dans public int voiture avec les if.
    encore Merci d'avance.

  2. #2
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    tu pourrais avoir une enum pour dire si c'est un essence, un diesel, s'il est au gpl
    tu peux ajouter la plaque d'immatriculation au véhicule et deux véhicules sont égaux s'ils ont la même plaque

    par contre la voiture n'hérite pas de vehicule ici !
    faut mettre public class Voiture extends Vehicule

    c'est quoi de ce public int Voiture ?
    Docteur en informatique
    Freelance R&D, Web
    Activité freelance : https://redinnov.fr
    Page perso : https://michel-dirix.com/

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 26
    Points : 5
    Points
    5
    Par défaut
    et comment faire
    Le constructeur verifiera que nbPlace >= 4 (sinon nbPlace sera mis à 4) et volumeChargement<=100 (sinon volumeChargement sera mis à 100)


    le public int voiture c'était pour essayer Le constructeur verifiera que nbPlace >= 4 (sinon nbPlace sera mis à 4) et volumeChargement<=100 (sinon volumeChargement sera mis à 100)

  4. #4
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    teste ça directement dans ton constructeur alors :



    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
     
     
     public Voiture (boolean d)
        {
            diesel=d;
        }
     
     public Voiture (boolean d, int p)
        {
            this(d);
            if(p>4) place = 4; else place=p;
        }
     
     public Voiture (boolean d, int p, int pr, int c)
        {
            diesel=d;
            if(p>4) place = 4; else place=p;
            prix=pr;
            if (v>100) v=100; else chargement=c;
        }
    Après tu peux faire tous les constructeurs possibles!

    Pour l'enum tu peux écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public enum typesVoitures{
    		DIESEL,ESSENCE,GPL;
    	}
    Docteur en informatique
    Freelance R&D, Web
    Activité freelance : https://redinnov.fr
    Page perso : https://michel-dirix.com/

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 26
    Points : 5
    Points
    5
    Par défaut
    Merci bien, cela est correct, je ne sais pas pourquoi je voulais faire autrement.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 26
    Points : 5
    Points
    5
    Par défaut
    les accesseurs sont bien:
    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
     
    public int getplace()
       {
            return place;
       }
     
       public int getprix()
       {
            return prix;
       }
     
            public int getchargement()
            {
                return chargement;
            }
    et les mutateurs la meme chose mais avec set à la place de get.

  7. #7
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    oui ceci est correct.
    Tu veux coder quoi au final.
    N'hésite pas a demander quand tu auras codé le garage!
    Docteur en informatique
    Freelance R&D, Web
    Activité freelance : https://redinnov.fr
    Page perso : https://michel-dirix.com/

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 26
    Points : 5
    Points
    5
    Par défaut
    en fait, je vais coder toutes les classes qui sont demandée dans l'énoncé que j'ai mis au début.
    c'est à dire la classe abstraite Vehicule
    la classe voiture heritant de vehicule
    la classe Garage permettant de gérer une liste de Véhicule(s)

    Je vais essayer de termine toute les classes. une fois celle ci terminée pourrais je les mettres en ligne afin d'avoir une correction?
    Encore Merci

  9. #9
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    oui pas de soucis je veux bien te les corriger!
    Docteur en informatique
    Freelance R&D, Web
    Activité freelance : https://redinnov.fr
    Page perso : https://michel-dirix.com/

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 26
    Points : 5
    Points
    5
    Par défaut
    Voici mes trois classes. Dans la seconde il me manque la surcharge de methode equals et dans la derniere classe j'ai un probleme dans ajouter et supprimer avec les whiles. Merci de l'aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public abstract class Vehicule
    {
        private int nbPlace;
        private int prix;
        private int volumeChargement;
    }

    la classe voiture qui herite de Vehicule


    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
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
     
    public class Voiture extends Vehicule
     
    {
        // instance variables - replace the example below with your own
        private boolean diesel;
        private int place;
        private int prix;
        private int volumeChargement;
     
        /**
         * Constructor for objects of class Voiture
         */
     
        public Voiture ()
        {
            place=0;
            prix=0;
            volumeChargement=0;
            diesel=false;
        }
     
        public Voiture (boolean d, int p, int pr, int v)
        {
            diesel=d;
            if (p>=4) 
            {place=4;}
            else 
            {place=p;}
            prix=pr;
            if (v<100) 
            {volumeChargement=100;}
            else 
            {volumeChargement=v;}
     
         }
     
        public boolean getdiesel()
        {
            return diesel;
        }
     
        public int getplace()
       {
            return place;
       }
     
       public int getprix()
       {
            return prix;
       }
     
            public int getvolumeChargement()
            {
                return volumeChargement;
            }
     
            public void setdiesel( boolean d)
            {
                diesel=d;
            }
     
            public void setplace (int p)
            {
                place=p;
            }
            public void setprix (int pr)
            {
                prix=pr;
            }
            public void setvolumeChargement(int c)
            {
                volumeChargement=c;
            }
     
             public int getVehicule ()
            {
                int x = getplace() + getprix() + getvolumeChargement();
                return x;
            }
     
            public String toString()
            {
                String s = new String ();
     
                    s = s+getdiesel()+" "+getplace()+" " +getprix()+ " " + getvolumeChargement();
     
                return s;
            }
     
            public void affiche()
            {
                System.out.print( "diesel: " + getdiesel()+", "+"nombres de places: " +getplace()+", " +"prix: "+getprix()+ ", " +"Volume: " +getvolumeChargement());
            }
     
    }

    la classe Garage permettant de gérer une liste de Véhicule(s)

    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
     
    public class Garage 
    {
        // instance variables - replace the example below with your own
        int nbVoiture;
       // boolean diesel;
        public Voiture[] lesVoitures;
     
        public Garage()
        {
            // initialise instance variables
     
            lesVoitures=new Voiture[100];
        }
     
     public void getVoiture(Voiture v)
        {
             int x =v.getplace()+  v.getprix() + v.getvolumeChargement();
        }
     
        public void ajouter (Voiture v)
        {
            int p= v.getplace();
            int pr=v.getprix();
            int c=v.getvolumeChargement();
     
            if(nbVoiture==0)
            {
                lesVoitures[nbVoiture]=v;
                nbVoiture++;
            }
     
            else
            { 
                int i=0;
                int j=0;
                while(i<nbVoiture && getVoiture(Voiture v ).equals(lesVoitures[i].getVehicule())!=true)
                {
                    i++;
                }
            }
    }
        public void affiche ()
        {
            for(int i = 0; i<nbVoiture;i++)
            {
                if (lesVoitures[i] !=null)
                {
                   {
                        System.out.print(lesVoitures[i].toString());
                    }
                }
            }
        }
     
        public void Supprimer (Voiture v)
        {
            int i=0;
            int j=0;
            int p=v.getplace();
            int pr=v.getprix();
            int c=v.getvolumeChargement();
        while (i<nbVoiture && p.equals(lesVoitures[i].getVoiture(Voiture v))!=true)
            {
                i++;
            }
            for (j=i; j<nbVoiture-1; j++)
            {
                lesVoitures[j] = lesVoitures[j+1];
            }
            lesVoitures[j]=null;
            nbVoiture--;
        }
    }

  11. #11
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    je ne comprend pas trop ce que tu fais.
    Pourquoi avoir un getVoiture dans la classe Voiture qui retourne un int en plus?!
    dans Garage, tu devrais mettre une liste de voiture ce serait plus simple a gérer

    en gros tu aurais :
    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
     
    import java.util.LinkedList;
    import java.util.List;
     
     
    public class Garage {
     
    	//liste de voitures representant le garage
    	private List<Voiture> voitures;
     
    	//le conctructeur ne fait que creer la liste
    	public Garage() {
    		this.voitures = new LinkedList<Voiture>();
    	}
     
    	public void ajouterVoiture(Voiture v){
    		this.voitures.add(v);
    	}
     
    	public void supprimerVoiture(Voiture v){
    		this.voitures.remove(v);
    	}
     
    	public void afficherGarage(){
    		for(Voiture v : this.voitures){
    			System.out.println(v.toString());
    		}
    	}
    }
    Docteur en informatique
    Freelance R&D, Web
    Activité freelance : https://redinnov.fr
    Page perso : https://michel-dirix.com/

  12. #12
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    attend je vais réécrire tes 3 classes et documentant pour que tu vois ce qui ne va pas!
    Docteur en informatique
    Freelance R&D, Web
    Activité freelance : https://redinnov.fr
    Page perso : https://michel-dirix.com/

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 26
    Points : 5
    Points
    5
    Par défaut
    mais je ne me suis jamais servi de linkedlist, j'ai deja vu arraylist, on peut rien faire avec arraylist.

  14. #14
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    alors voila le résultat, tu as 4 classes, tes 3 d'avant+ l'enumération
    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
     
     
    public enum TypeVehicule {
    	DIESEL,ESSENCE,GPL;
     
    	@Override
    	/**
             * permet d'afficher le type de vehicule
             */
    	public String toString() {
    		switch(this){
    		case DIESEL : return "diesel";
    		case ESSENCE : return "essence";
    		case GPL : return "gpl";
    		default : return "error";
    		}
    	}
    }
    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
     
    public abstract class Vehicule
    {
    	//protected signifie que tes classes filles heritent des attributs
        protected int nbPlace;
        protected int prix;
        protected int volumeChargement;
        protected TypeVehicule type;
     
        //tu n'auras pas a reecrire tout le code pour tout les vehicules differents
     
        public String toString() {
    		String s = new String();
     
    		s = s + this.type.toString() + " " + this.nbPlace + " " + this.prix + " "
    				+ this.volumeChargement;
     
    		return s;
    	}
     
    	protected void affiche() {
    		System.out.print(this.toString());
    	}
     
    }
    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
     
    public class Voiture extends Vehicule
     
    {
     
    	/**
             * Constructor for objects of class Voiture
             */
     
    	public Voiture() {
    		// mets bien tes this. a chaque fois c'est plus lisible
    		this.nbPlace = 0;
    		this.prix = 0;
    		this.volumeChargement = 0;
    	}
     
    	//utilisation de l'enumeration, comme ca tu peux ajouter de nouveau 
    	//types de vehicules sans tout reecrire
    	public Voiture(TypeVehicule t, int p, int pr, int v) {
    		this.type = t;
    		if (p >= 4) {
    			this.nbPlace = 4;
    		} else {
    			this.nbPlace = p;
    		}
    		this.prix = pr;
    		if (v < 100) {
    			this.volumeChargement = 100;
    		} else {
    			this.volumeChargement = v;
    		}
     
    	}
     
    	public TypeVehicule getTypeVehicule() {
    		return this.type;
    	}
     
    	public int getplace() {
    		return this.nbPlace;
    	}
     
    	public int getprix() {
    		return this.prix;
    	}
     
    	public int getvolumeChargement() {
    		return this.volumeChargement;
    	}
     
    	public void changerTypeVehicule(TypeVehicule tv) {
    		this.type = tv;
    	}
     
    	public void setPlace(int p) {
    		this.nbPlace = p;
    	}
     
    	public void setPrix(int pr) {
    		this.prix = pr;
    	}
     
    	public void setVolumeChargement(int c) {
    		this.volumeChargement = c;
    	}
     
     
     
     
    }
    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
     
    import java.util.LinkedList;
    import java.util.List;
     
     
    public class Garage {
     
    	//liste de voitures representant le garage
    	//plus facile a utiliser qu'un tableau
    	private List<Voiture> voitures;
     
    	//le conctructeur ne fait que creer la liste
    	public Garage() {
    		this.voitures = new LinkedList<Voiture>();
    	}
     
    	public void ajouterVoiture(Voiture v){
    		this.voitures.add(v);
    	}
     
    	public void supprimerVoiture(Voiture v){
    		this.voitures.remove(v);
    	}
     
    	public void afficherGarage(){
    		for(Voiture v : this.voitures){
    			System.out.println(v.toString());
    		}
    	}
    }
    voila dis moi ce que tu ne comprends pas!
    Docteur en informatique
    Freelance R&D, Web
    Activité freelance : https://redinnov.fr
    Page perso : https://michel-dirix.com/

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 26
    Points : 5
    Points
    5
    Par défaut
    je ne me suis jamais servis de linkedlist, mais les tableaux oui.
    merci d'avoir documenter, cela me permet de comprendre plus facilement ce que tu as fait.

  16. #16
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    si tu veux gérer ça avec des tableaux ça va étre bien chiant pour gérer l'ajout et la suppression de voitures.
    alors que la les listes gérent tout toutes seules!
    si tu veux tu peux remplacer LinkedList par ArrayList!
    Docteur en informatique
    Freelance R&D, Web
    Activité freelance : https://redinnov.fr
    Page perso : https://michel-dirix.com/

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 26
    Points : 5
    Points
    5
    Par défaut
    Ok, oui je voulais gerer avec des tableaux, mais comme tu dis c'est bien chiant je vais donc utiliser arraylist. Merci encore

  18. #18
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    l'ajout ne poserai pas de problème dans le tableau mais a chaque suppression tu devrais décaler toutes les voitures dans le tableau!
    si tu as d'autres questions n'hésite pas
    Docteur en informatique
    Freelance R&D, Web
    Activité freelance : https://redinnov.fr
    Page perso : https://michel-dirix.com/

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 26
    Points : 5
    Points
    5
    Par défaut
    il serait possible que tu me montre ce que ça donnerai avec un tableau? si ça te derange, je comprendrai et n'hesite pas à le dire.

    je demande ça car dans la formation ou je suis on utilise les tableau, et vu que j'ai un tp controle bientot.

  20. #20
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    ok je vais refaire ça avec les tableaux alors!

    ça devrait étre a peu près ç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
    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
     
     
    public class Garage {
     
    	// liste de voitures representant le garage
    	// plus facile a utiliser qu'un tableau
    	private Voiture[] voitures;
    	// indice pour savoir ou placer la voiture dans le tableau
    	private int current;
     
    	// le conctructeur ne fait que creer la liste
    	public Garage() {
    		this.voitures = new Voiture[100];
    		this.current = 0;
    	}
     
    	public void ajouterVoiture(Voiture v) {
    		if (current < 99) {
    			this.voitures[current] = v;
    			//une voiture de plus
    			this.current++;
    		} else {
    			System.out.println("le garage est plein");
    		}
    	}
     
    	public void supprimerVoiture(Voiture v) {
    		//on parcours tout le tableau jusque l'indice courant(derniere voiture)
    		for(int i = 0; i<current;i++){
    			if(this.voitures[i] == v){
    				//il s'agit de la derniere voiture, il n'y a donc rien a decaler
    				if(i==current){
    					this.voitures[i]=null;
    				}
    				else{
    					//sinon decalage de toutes les voitures suivantes
    					for(int j = i;j<current;j++){
    						this.voitures[j] = this.voitures[j+1];
    					}
     
    				}
    				//il y a une voiture de moins
    				this.current--;
    			}
    		}
    	}
     
    	public void afficherGarage() {
    		for (Voiture v : this.voitures) {
    			System.out.println(v.toString());
    		}
    	}
    }
    Docteur en informatique
    Freelance R&D, Web
    Activité freelance : https://redinnov.fr
    Page perso : https://michel-dirix.com/

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/11/2014, 21h12
  2. Réponses: 4
    Dernier message: 12/05/2010, 16h54
  3. [XL-2003] aide programme débutant
    Par diamond8 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 17/07/2009, 19h25
  4. Aide programme débutant en C++
    Par beufa59 dans le forum Débuter
    Réponses: 4
    Dernier message: 10/03/2009, 15h30
  5. Aide pour débutant : addition
    Par playentry dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/03/2005, 19h08

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