Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Java - Contructeur avec tableau

5 réponses
Avatar
cibox
Bonjour,

Je d=E9bute en Java...
Je voudrai cr=E9er un objet tableau (Garage [] tata) dont le nombre
d'=E9l=E9ments varie (voiture et camion)
Pouvez-vous m'expliquer mon erreur ci-dessous
"Garage [] tata =3D new Garage(10,5) [3];"

Merci.


class Garage {
int [] voiture;
int [] camion;
Garage (int voiture, int camion){
this.voiture =3D new int [voiture];
this.camion =3D new int [camion];
}
}

public class test {

public static void main(String[] args) {

// toto dispose d'un garage de 10 voitures et 5 camions
// Ca marche
Garage toto =3D new Garage(10,5);

// le groupe tata dispose de 3 garages dont chaque garage contient 10
voitures et 5 camions
// Ca marche pas!
Garage [] tata =3D new Garage(10,5) [3];
}

}

5 réponses

Avatar
Michel
Bonjour,

Je débute en Java...
Je voudrai créer un objet tableau (Garage [] tata) dont le nombre
d'éléments varie (voiture et camion)
Pouvez-vous m'expliquer mon erreur ci-dessous
"Garage [] tata = new Garage(10,5) [3];"

Merci.


class Garage {
int [] voiture;
int [] camion;
Garage (int voiture, int camion){
this.voiture = new int [voiture];
this.camion = new int [camion];
}
}

public class test {

public static void main(String[] args) {

// toto dispose d'un garage de 10 voitures et 5 camions
// Ca marche
Garage toto = new Garage(10,5);

// le groupe tata dispose de 3 garages dont chaque garage contient 10
voitures et 5 camions
// Ca marche pas!
Garage [] tata = new Garage(10,5) [3];
}

}

Bonjour

soit tu instancies ton tableau:
Garage [] tata = new Garage [3];
tu y inserres chaque element
Garage toto = new Garage(10,5);
tata[0] = toto;
etc...


ou tu peux tout faire d'un coup
Garage [] tata = {new Garage(10,5),new Garage(10,5),new Garage(10,5)};

A+

Avatar
Raphael Tagliani
De plus, si tu veux faire un tableau avec un nombre d'arguments
variable, utilise une liste (p. ex List ou ArrayList, Hashmap...)

Bonjour,

Je débute en Java...
Je voudrai créer un objet tableau (Garage [] tata) dont le nombre
d'éléments varie (voiture et camion)
Pouvez-vous m'expliquer mon erreur ci-dessous
"Garage [] tata = new Garage(10,5) [3];"

Merci.


class Garage {
int [] voiture;
int [] camion;
Garage (int voiture, int camion){
this.voiture = new int [voiture];
this.camion = new int [camion];
}
}

public class test {

public static void main(String[] args) {

// toto dispose d'un garage de 10 voitures et 5 camions
// Ca marche
Garage toto = new Garage(10,5);

// le groupe tata dispose de 3 garages dont chaque garage
contient 10
voitures et 5 camions
// Ca marche pas!
Garage [] tata = new Garage(10,5) [3];
}

}

Bonjour

soit tu instancies ton tableau:
Garage [] tata = new Garage [3];
tu y inserres chaque element
Garage toto = new Garage(10,5);
tata[0] = toto;
etc...


ou tu peux tout faire d'un coup
Garage [] tata = {new Garage(10,5),new Garage(10,5),new Garage(10,5)};

A+



Avatar
Syrion
Je rajouterai par rapport à Raphaël :
- Evite les tableaux
- Utilise les collections (dans le package java.util : List, Map, Set)
- Si tu est en Java 1.5, utilise les générics : List<Voiture>,
List<Camion>
- Ne met JAMAIS, en type de retour ou en argument d'une méthode, un
implémentation d'interface comme ArrayList, HashMap... Retourne ou
accèpte en argument que des Collection, List, Map, Set voire SortedSet
ou SortedMap. Exemple :
public List<Camion> getListeCamions(){
if(this.camion==null){
camion=new ArrayList<Camion>();
}
return camion;
}

Aussi : cf tutorial et javadoc du package java.util, framework
Collection (cf java.sun.com)

Bonjour,

Je débute en Java...
Je voudrai créer un objet tableau (Garage [] tata) dont le nombre
d'éléments varie (voiture et camion)
Pouvez-vous m'expliquer mon erreur ci-dessous
"Garage [] tata = new Garage(10,5) [3];"

Merci.


class Garage {
int [] voiture;
int [] camion;
Garage (int voiture, int camion){
this.voiture = new int [voiture];
this.camion = new int [camion];
}
}

public class test {

public static void main(String[] args) {

// toto dispose d'un garage de 10 voitures et 5 camions
// Ca marche
Garage toto = new Garage(10,5);

// le groupe tata dispose de 3 garages dont chaque garage contient 10
voitures et 5 camions
// Ca marche pas!
Garage [] tata = new Garage(10,5) [3];
}

}



Avatar
cilovie
Je rajouterai par rapport à Raphaël :
- Evite les tableaux


Pourquoi ?

- Utilise les collections (dans le package java.util : List, Map, Set)
- Si tu est en Java 1.5, utilise les générics : List<Voiture>,
List<Camion>
- Ne met JAMAIS, en type de retour ou en argument d'une méthode, un
implémentation d'interface comme ArrayList, HashMap... Retourne ou
accèpte en argument que des Collection, List, Map, Set voire SortedSet
ou SortedMap. Exemple :
public List<Camion> getListeCamions(){
if(this.camion==null){
camion=new ArrayList<Camion>();
}
return camion;
}

Aussi : cf tutorial et javadoc du package java.util, framework
Collection (cf java.sun.com)

Bonjour,

Je débute en Java...
Je voudrai créer un objet tableau (Garage [] tata) dont le nombre
d'éléments varie (voiture et camion)
Pouvez-vous m'expliquer mon erreur ci-dessous
"Garage [] tata = new Garage(10,5) [3];"

Merci.


class Garage {
int [] voiture;
int [] camion;
Garage (int voiture, int camion){
this.voiture = new int [voiture];
this.camion = new int [camion];
}
}

public class test {

public static void main(String[] args) {

// toto dispose d'un garage de 10 voitures et 5 camions
// Ca marche
Garage toto = new Garage(10,5);

// le groupe tata dispose de 3 garages dont chaque garage
contient 10
voitures et 5 camions
// Ca marche pas!
Garage [] tata = new Garage(10,5) [3];
}

}





Avatar
Insitu
cilovie writes:

Je rajouterai par rapport à Raphaël :
- Evite les tableaux


Pourquoi ?


Les tableaux c'est trés utile lorsque l'on a besoin de
performance ou lorsque l'on souhaite des collections figées. On dit
souvent de les éviter car il est fréquent de retourner des tableaux à
usage interne ce qui est rarement une bonne idée, parce que c'est
fastidieux de retourner une copie. Ce type de pratique (retourner une
collection en lecture seule) est plus facile à implanter (et
maintenir) avec des collection standards.


Je débute en Java...
Je voudrai créer un objet tableau (Garage [] tata) dont le nombre
d'éléments varie (voiture et camion)
Pouvez-vous m'expliquer mon erreur ci-dessous
"Garage [] tata = new Garage(10,5) [3];"




// initialise le contenant
Garage[] tata = new Garage[3];
// initialise le contenu
for(int i=0;i<tata.length;i++)
tata[i] = new Garage(10,5);

insitu.