Transfert d'une matrice vers hashSet
firas scofield
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
josaphat_mayuba Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
josaphat_mayuba Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai une classe "grille_chiffre" qui rempli une matrice par des valeurs aléatoire , ensuite dans la classe fille "urne" je doit transférer les valeurs de la matrice dans une hashSet donc j'ai besoin de faire appel à super.initialiser(). le problème et quand j' afficher la matrice via la classe grille w le hashSet via la classe urne il ne sont pas identiques et je trouve des valeurs différents.
voila le contenu des deux classes:
Main
voila le contenu des deux classes:
import java.util.*; public class grille_chiffre { protected Object[][] gc; public grille_chiffre(){ gc=new Object[5][5]; } public Object[][] getGc() { return gc; } public void setGc(Object[][] gc) { this.gc = gc; } public void initialiser(){ int nb; double nbd; for(int i=0;i<5;i++) for(int j=0;j<5;j++){ do{ nbd=Math.random()*(100-0); nb=(int)nbd; }while(existe(nb)); gc[i][j]=nb; } } public boolean existe(Object x){ int i=0; boolean trouve=false; while(i<5 && !trouve){ int j=0; while(j<5 && !trouve){ if(gc[i][j]==x) trouve=true; else j++; } i++; } return trouve; } public void affichage(){ for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ System.out.print(gc[i][j]+" "); } System.out.println(); } } }
import java.util.*; public class urne2 extends grille_chiffre{ private HashSet<Object> ur; public urne2(){ ur=new HashSet<Object>(); } public void initialiser(){ super.initialiser(); for(int i=0;i<5;i++) for(int j=0;j<5;j++){ ur.add(super.getGc()[i][j]); } System.out.println(); } public void affichage(){ Object[]e=ur.toArray(); for(int i=0;i<e.length;i++) System.out.print(e[i]+" "); } }
Main
grille_chiffre g=new grille_chiffre(); urne2 ur=new urne2(); g.initialiser(); g.affichage(); System.out.println("Urne"); ur.initialiser(); ur.affichage();
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Transfert d'une matrice vers hashSet
- Vinted transfert vers compte bancaire - Guide
- Whatsapp transfert discussion - Accueil - WhatsApp
- Windows 7 vers windows 10 - Accueil - Mise à jour
- Transfert iphone vers iphone - Guide
- Clavier qwerty vers azerty - Guide
2 réponses
Salut,
Si tu crées une instance de
Si tu crées une instance de
grille_chiffre, elle n'a rien à voir avec
urne2même si elle est fille de
grille_chiffre(l'instanciation de
urne2créé une nouvelle instance de
grille_chiffre)
salut, je vois que tu réinitialise le tableau qui crée un nouveau tableau avec des contenus différents vu c'est du random. tu peux appelé grille_chiffre directement
import java.util.*; public class urne2 { protected Object[][] gc; public urne2() { super(); } public Object[][] getGc() { return gc; } public void setGc(Object[][] gc) { this.gc = gc; } public void affichage() { for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { System.out.print(getGc()[i][j] + " "); } System.out.println(); } } }