Passage du C vers le JAVA
pipleton
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
pipleton Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
pipleton Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai une structure en C et je voudrais la ré-ecrire en JAVA. Pour cela, j'ai déjà crée une classe avec les différents attributs.Cependant, je ne vois pas comment traduire la ligne suivante en JAVA : struct Ville ** voisins; //Pointeur sur les villes voisines.
Quelqu'un pourrait il m'aider?
Merci d'avance
typedef struct{
char nomVille[20]; //Nom de la ville
struct Ville ** voisins; //Pointeur sur les villes voisines
}Ville;
public class Ville{
protected String nomVille=null;
}
J'ai une structure en C et je voudrais la ré-ecrire en JAVA. Pour cela, j'ai déjà crée une classe avec les différents attributs.Cependant, je ne vois pas comment traduire la ligne suivante en JAVA : struct Ville ** voisins; //Pointeur sur les villes voisines.
Quelqu'un pourrait il m'aider?
Merci d'avance
typedef struct{
char nomVille[20]; //Nom de la ville
struct Ville ** voisins; //Pointeur sur les villes voisines
}Ville;
public class Ville{
protected String nomVille=null;
}
A voir également:
- Passage du C vers le JAVA
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
6 réponses
Tu dois simplement remplacer ta structure par une classe...
/** Une ville est représentée par son nom et ses villes voisines */ public class Ville { /** nom de la ville */ protected String nomVille; /** villes voisines */ protected Collection<Ville> voisins; /** Construction d'une ville * @param nom le nom de la ville * ... */ public Ville(String nom, ...) { nomVille = nom; // ... } }
alors je suis d'accord avec toi pour utilisé les collections. Mais comment je fais pour l'initialisé quand il y a plusieurs voisin?
Par exemple, si ma ville est Paris, qu'elle a pour voisin Orléans et Reims.
je vais faire
public Ville(){
nomVille = " Paris";
voisins = ???? ;
}
je ne vois pas trop comment faire la? Puis je avoir de la lumière?
Merci d'avance!
Par exemple, si ma ville est Paris, qu'elle a pour voisin Orléans et Reims.
je vais faire
public Ville(){
nomVille = " Paris";
voisins = ???? ;
}
je ne vois pas trop comment faire la? Puis je avoir de la lumière?
Merci d'avance!
Collection est une classe abstraite, je te laisse choisir l'implémentation que tu veux.
Pour l'exemple je vais prendre ArrayList mais cela risque d'être un mauvais choix.
En effet il vaudrait mieux prendre une Collection qui ne supporte pas les doublons...
Pour l'exemple je vais prendre ArrayList mais cela risque d'être un mauvais choix.
En effet il vaudrait mieux prendre une Collection qui ne supporte pas les doublons...
/** Construction d'une ville * @param nom le nom de la ville * @param villesVoisines les villes existantes qui entourent la nouvelle */ public Ville(String nom, Ville ... villesVoisines) { nomVille = nom; voisins = new ArrayList<Ville>(); for (Ville v : villesVoisines) { this.voisins.add(v); // v est voisin de this v.voisins.add(this); // this est voisin de v } } public static void main(String args[]) { Ville paris = new Ville("Paris"); // 'Paris' [] Ville reims = new Ville("Reims",paris); // 'Paris' ['Reims'] // 'Reims' ['Paris'] Ville orleans = new Ville("Orléans",paris); // 'Paris' ['Reims','Orléans'] // 'Reims' ['Paris'] // 'Orléans' ['Paris'] }
Comment je peux faire pour éviter que mes villes voisines se retrouvent dans le constructeur? En effet pour créer mes villes j'ai fait une boucle et je les initialise une par une.
Suivant ton exemple, j'ai fait ça : ville[0].voisin.add(ville[1]); sans grand succès! est ce normal?
Suivant ton exemple, j'ai fait ça : ville[0].voisin.add(ville[1]); sans grand succès! est ce normal?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu ne peux pas ville[i] car ville n'est pas un tableau.
De plus c'est voisins qu'il faut utiliser : ville1.voisins.add(ville2);
Sinon tu peux utiliser une méthode qui ajoute un lien de voisinage :
De plus c'est voisins qu'il faut utiliser : ville1.voisins.add(ville2);
Sinon tu peux utiliser une méthode qui ajoute un lien de voisinage :
public Ville(String nom) { nomVille = nom; voisins = new ArrayList<Ville>(); } public static boolean ajouterVoisins(Ville ville1,Ville ville2) { return ville1.voisins.add(ville2) && ville2.voisins.add(ville1); } public static void main(String args[]) { Ville reims = new Ville("Reims"); Ville orleans = new Ville("Orléans"); Ville paris = new Ville("Paris"); ajouterVoisins(paris,reims); ajouterVoisins(paris,orleans); }