Salut,
C'est limite sibyllin comme question. Tu montres un code qui ne compile pas et tu voudrais une version simplifiée utilisant les tableaux, ce qui n'a que peu de sens si on ne sait pas vraiment ce que tu cherches à faire et qu'on a que peu de contexte.
En l’occurrence, s'il s'agit de créer un tableau de n instances de Maison :
Maison[] maisons = new Maison[n]; // n est un int qui doit avoir une valeur >= 0 et qui représente le nombre d'instances de Maison qu'on va pouvoir stocker dans le tableau
Pour remplir un tel tableau, d'instances de Maison :
1 2 3
| for(int i=0; i<maisons.length; i++) {
maisons[i] = new Maison(100);
} |
On peut également écrire ça :
Maison[] maisons = Stream.generate(()->new Maison(100)).limit(n).toArray(Maison[]::new);
Maintenant, tu parles de pouvoir avoir des consommations différentes. Mais d'où viennent ces consommations différentes ? Elles sont saisies au clavier, viennent d'un fichier, d'une base de données, sont en dur dans le code (dans un tableau, une liste, autre ?), sont aléatoires ?
Voici un code qui génère un tableau de n maisons avec une consommation aléatoire comprise entre 10 et 200 :
Maison[] maisons = Stream.generate(()->new Maison(ThreadLocalRandom.current().nextInt(10, 200))).limit(n).toArray(Maison[]::new);
La version avec la boucle est :
1 2 3 4 5 6
|
int n=10; // nombre de maisons est 10
Maison[] maisons = new Maison[n]; // création du tableau pour stocker n maisons
for(int i=0; i<maisons.length; i++) {
maisons[i] = new Maison(ThreadLocalRandom.current().nextInt(10, 200));
} |
Partager