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

avec Java Discussion :

Méthode de détection des doublons


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Lycéen
    Inscrit en
    Juillet 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2012
    Messages : 20
    Points : 13
    Points
    13
    Par défaut Méthode de détection des doublons
    bonjour,

    Je veux écrire une méthode qui, pour un tableau de type int, détecte au moins un doublon.

    Voici mon code :

    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
     
    public static boolean tableau100Doub(int [] tablo)
    {
    				boolean verite = true;
     
    				for(int i = 0; i < (tablo.length - 1); i++)
    				{
    					for(int j = i+1; j < tablo.length; j++)
    					{
    						if( tablo[i] == tablo[j] )
    							{ verite = false; }
    						break;
    					}
     
    				}	
    				return verite;
    }
    Mais ça ne marche pas. Et pourtant, tout me semble logique.

    Aidez-moi à comprendre là où j'ai merdé

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Hum.
    Moi, Eclipse me signale que "j++" est un code mort, il ne sera jamais appelé, alors forcément le problème saute aux yeux.

    Maintenant que je t'ai dit ça, tu situes mieux où est l'erreur ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Femme Profil pro
    Lycéen
    Inscrit en
    Juillet 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2012
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Hum.
    Moi, Eclipse me signale que "j++" est un code mort, il ne sera jamais appelé, alors forcément le problème saute aux yeux.

    Maintenant que je t'ai dit ça, tu situes mieux où est l'erreur ?
    En tant que débutante en java, je ne sais pas ce que signifie code mort.

    Moi, l'erreur, je la voyais à la position de l'instruction

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 072
    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 072
    Points : 7 974
    Points
    7 974
    Par défaut
    Un code mort est un code qui ne s'executera pas quoiqu'il arrive.

    Dans le cas de ta boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(int j = i+1; j < tablo.length; j++)
    celle ci, va s'executer 1 tour, puis faire un break (donc le j++ ne sera pas executé) et donc sortir de celle ci.

    Donc en gros ton break il lui manque un condition a mon avis
    (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

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    je pense que ton break devrai être dans le if voir à la place tu pourrais directement mettre un return dans ton if comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public static boolean boublon(int[] tab) {
    	for (int i = 0; i < (tab.length - 1); i++) {
    		for (int j = (i + 1); j < tab.length; j++) {
    			if (tab[i] == tab[j]) {
    				return true;
    			}
    		}
    	}
    	return false;
    }

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/10/2014, 09h34
  2. Détection des quasi-doublons
    Par Salmazj dans le forum SQL
    Réponses: 5
    Dernier message: 14/08/2013, 20h45
  3. [AC-2003] Détection des doublons
    Par casavba dans le forum VBA Access
    Réponses: 3
    Dernier message: 18/06/2011, 18h03
  4. Détection des doublons sans effacer
    Par drakkar_agfa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/10/2008, 22h55
  5. Détection et suppression des doublons
    Par zeus2005 dans le forum Solaris
    Réponses: 1
    Dernier message: 16/09/2008, 12h16

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