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

Java Discussion :

Commenter un programme


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 35
    Points : 26
    Points
    26
    Par défaut Commenter un programme
    Bonjour
    Pourrais t'on SVP m'aider via des commentaires bien explicites et expliqués étapes par étapes pour bien comprendre ce programme: pour indice c'est un algo qui partant d'une ville de départ (paris) doit faire le tour de 6 villes pour revenir à paris, donc il y'a un total de 7 villes ^^ et il doit toujours trouver la distance la plus proche choisir cette ville et y'a pas possibilité de passer dans une ville 2 fois.
    Je precise qu'il y'a 3 fichiers joints: respectivement Algo.java et ville.java et le fichier des distances entre les villes.
    je vous remercie d'avance
    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
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    import java.util.HashMap;
    import java.util.Map.Entry;
     
    public class Algo{
     
    	private HashMap<String,Ville> villes;
     
    	public Algo(){
     
    		villes = new HashMap<String,Ville>();
     
    		Ville nice = new Ville("Nice");
    		nice.addDistance("Angers",999);
    		nice.addDistance("Bordeaux",844);
    		nice.addDistance("Clermond",620);
    		nice.addDistance("Paris",950);
    		nice.addDistance("Strasbourg",842);
    		nice.addDistance("Montpellier",345);
    		villes.put(nice.getNom(),nice);
     
    		Ville angers = new Ville("Angers");
    		angers.addDistance("Nice",999);
    		angers.addDistance("Bordeaux",335);
    		angers.addDistance("Clermond",402);
    		angers.addDistance("Paris",303);
    		angers.addDistance("Strasbourg",742);
    		angers.addDistance("Montpellier",692);
    		villes.put(angers.getNom(),angers);
     
    		Ville bordeaux = new Ville("Bordeaux");
    		bordeaux.addDistance("Nice",844);
    		bordeaux.addDistance("Angers",335);
    		bordeaux.addDistance("Clermond",369);
    		bordeaux.addDistance("Paris",561);
    		bordeaux.addDistance("Strasbourg",958);
    		bordeaux.addDistance("Montpellier",499);
    		villes.put(bordeaux.getNom(),bordeaux);
     
    		Ville clermond = new Ville("Clermond");
    		clermond.addDistance("Nice",620);
    		clermond.addDistance("Angers",102);
    		clermond.addDistance("Bordeaux",369);
    		clermond.addDistance("Paris",425);
    		clermond.addDistance("Strasbourg",574);
    		clermond.addDistance("Montpellier",367);
    		villes.put(clermond.getNom(), clermond);
     
    		Ville paris = new Ville("Paris");
    		paris.addDistance("Nice",950);
    		paris.addDistance("Angers",303);
    		paris.addDistance("Bordeaux",561);
    		paris.addDistance("Clermond",425);
    		paris.addDistance("Strasbourg",448);
    		paris.addDistance("Montpellier",763);
    		villes.put(paris.getNom(),paris);
     
    		Ville strasbourg = new Ville("Strasbourg");
    		strasbourg.addDistance("Nice",842);
    		strasbourg.addDistance("Angers",742);
    		strasbourg.addDistance("Bordeaux",958);
    		strasbourg.addDistance("Clermond",574);
    		strasbourg.addDistance("Paris",448);
    		strasbourg.addDistance("Montpellier",727);
    		villes.put(strasbourg.getNom(),strasbourg);
     
    		Ville montpellier = new Ville("Montpellier");
    		montpellier.addDistance("Nice",345);
    		montpellier.addDistance("Angers",692);
    		montpellier.addDistance("Bordeaux",499);
    		montpellier.addDistance("Clermond",367);
    		montpellier.addDistance("Paris",763);
    		montpellier.addDistance("Strasbourg",727);
    		villes.put(montpellier.getNom(),montpellier);
    	}
     
    	public HashMap<String,Ville> getVilles(){
    		return this.villes;
    	}
     
    	public int displayTravelingSalesmanV1(String nom, String arrive, HashMap<String,Ville> villesRestantes){
     
    		int min = Integer.MAX_VALUE;
    		String nextVille = null;
    		int distance;
     
    		for(Entry<String, Ville> entry : villesRestantes.entrySet()) {
    		    Ville value = entry.getValue();
    		   	distance = value.getDistanceTo(nom);
    			if(distance > 0 && distance < min && (!arrive.equals(value.getNom()) || villesRestantes.size() <= 1)){
    				min = distance;
    				nextVille = value.getNom();
    			}
    		}
     
     
    		if(nextVille != null){
    			villesRestantes.remove(nextVille);
    			System.out.println(nom + " -> " + nextVille + " = " + min + "km");
    			return min + displayTravelingSalesmanV1(nextVille,arrive,villesRestantes);
    		}
    		return 0;
    	}
     
    	int[][] suites = new int[7][7];
     
    	public int displayTravelingSalesmanV2(int i, int j){
     
     
    	}
     
    	public static void main(String[] args){
    		Algo algo = new Algo();
    		int distanceTotale = algo.displayTravelingSalesmanV1("Paris","Paris", algo.getVilles());
     
    		System.out.println("Distance Total parcourue: " + distanceTotale + "km");
    	}
     
    }

    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
     
    import java.util.HashMap;
     
    public class Ville{
     
    	private HashMap<String,Integer> distances; 
    	private String nom;
     
    	public Ville(String nom){
    		this.nom = nom;
    		this.distances = new HashMap<String,Integer>();
    	}
     
    	public String getNom(){
    		return this.nom;
    	}
     
    	public void addDistance(String ville,Integer distance){
    		this.distances.put(ville,distance);
    	}
     
    	public Integer getDistanceTo(String ville){
     
    		if(this.distances.containsKey(ville)){
    			return this.distances.get(ville);
    		}
     
    		return -1;
    	}
     
     
     
    }
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ce programme fait exactement ce que tu en dis au début de ton message.
    Ta question ressemble à quelqu'un qui nous demande de faire ses devoirs et qui va les rendre tels quels à son prof. Si ce n'est pas le cas, pose une question plus ciblée que ça.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Bizarre, mais j'avais la même impression
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Il te suffit de voir l'utilisation d'un HashMap et tu dois tout comprendre.

    A+.

Discussions similaires

  1. sparse comment la programmer en c++
    Par hamoudasafira dans le forum C++
    Réponses: 3
    Dernier message: 12/01/2007, 00h20
  2. Comment bien programmer en C ?
    Par lastrecrue dans le forum C
    Réponses: 14
    Dernier message: 12/07/2006, 12h44
  3. [TP] Aide pour commenter un programme
    Par justind1989 dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 06/04/2006, 19h11
  4. [C#] Comment correctement programmer orienté objet ?
    Par ChristopheOce dans le forum C#
    Réponses: 5
    Dernier message: 06/02/2006, 13h22
  5. Comment sont programmés les plug-ins de jeux
    Par Marneus dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 25/11/2005, 18h01

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