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

Entrée/Sortie Java Discussion :

Recherche sur un tableau


Sujet :

Entrée/Sortie Java

  1. #21
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut ok affichage
    pour ce code oui affiche ..c était pour contrôler qu il a bien le fichier ,est qu il est dans le tableau...
    c est apres trier comme indiquer comme plus haut

    exemple tableau
    12 23 45 67 89 est sauver dans tableau2 12 en le trouve a 9 position plus m 23 45 position plus loin etc
    tableau2 9 45 etc

  2. #22
    Membre confirmé
    Avatar de Jacques Beauregard
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2015
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2015
    Messages : 231
    Points : 595
    Points
    595
    Par défaut
    Bonjour,
    Citation Envoyé par giovanni Voir le message
    pour ce code oui affiche ..c était pour contrôler qu il a bien le fichier ,est qu il est dans le tableau...
    c est apres trier comme indiquer comme plus haut

    exemple tableau
    12 23 45 67 89 est sauver dans tableau2 12 en le trouve a 9 position plus m 23 45 position plus loin etc
    tableau2 9 45 etc
    J'ai pas de décodeur canalGiovanni .. Pourriez-vous être plus précis ?
    Merci
    Il ne faut jamais prendre les gens pour des cons, mais il ne faut pas oublier qu'ils le sont...

    Le guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #23
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut petite erreur le fichier pas dans le tableau
    alors
    j ai un fichier text avec des ligne de chiffre comme ci dessous
    12 34 45 56 67
    77 65 90 76 43
    34 12 54 67 78
    34 etc...

    je charge tout dans un tableau[]
    tableau[1]=12
    tableau[2]=34
    etc

    quand le tableau es charger en recherche le 1 chiffre 12 et en regarde a quel ligne en le retrouve
    dans cette exemple en trouve le chiffre 12 a la 3 eme ligne ,donc dans le tableau2[] en enregistre le chiffre 3 ;tableau2[1]=3
    est ensuite en passe au deuxieme chiffre le 34 en le trouve aussi ligne 3 est en registre tableau2[2]=3
    etc
    jusques la fin

    voici le cod e j'arrive pas ...mis des print pour controller si bien dans le tableau ...le fichier ,mais en dirais que non
    les print ou j'ai mis // la je voie le fichier text ,ais plus loin remis print est n'affiche pas le fichier ,que je pnser etre dans l tableau

    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
    119
    package file;
    import java.util.Arrays;
    import java.io.*;
    import java.io.File;
    import java.io.FileReader;
    import java.util.Arrays;
    public class files {
    	int[] tableau;
    	int[] tableau2 = new int[1000];
    	int[] tableau3 = new int[1000];
    	int[] tableau4 = new int[1000];
    	int n = 0;
    	int c = 1;
     
    	/**
             * Constructeur
             */
    	public files() {
     
    		try (BufferedReader b = new BufferedReader(new FileReader(new File("D:/taxe.txt")))) {
    			String line;
    			// Lecture du fichier ligne par ligne. Cette boucle se termine
    			// quand la méthode retourne la valeur null.
    			while ((line = b.readLine()) != null) {
     
    				// STOCK LA LIGNE DANS UN BUFFER
    				// String tmp = b.readLine();
     
    				// COUPE LA LIGNE SUIVANT LES ESPACES
    				String[] args = line.split("\\s+");
     
    				// ALLOUE NOTRE TABLEAU DE N ELEMENTS
    				tableau = new int[args.length];
     
    				// COPIE CHAMP A CHAMP + AFFICHAGE
    				for (int i = 1; i < tableau.length; i++) {
     
    					tableau[i] = Integer.parseInt(args[i]);
    tableau2[i]=tableau[i];
    				//	System.out.print(tableau[i]);
    					//System.out.print(" ");
    					c = c + 1;
    					if (c == 6) {
    						c = 1;
    						System.out.println(" ");
    					}
    					n++;
     
    				}
    				{
     
    					int indiceTableau = 0;
    					int[] tableauIndiceCherche = new int[tableau.length];
    					int[] tableauIndiceTrouve = new int[tableau.length];
    					for (int i = 0; i < tableau.length - 1; i++) {
     
    						int indiceTrouve = recherche(tableau[i], tableau, i + 1);
    						if (indiceTrouve >= 0) {
    							// par exemple
    							tableauIndiceCherche[indiceTableau] = i;
    							tableauIndiceTrouve[indiceTableau] = indiceTrouve;
     
    							indiceTableau++; // on passe à la case suivante
     
    						}
     
    					}
    				}
     
     
    			}
    		}
     
    		catch (
     
    		IOException e)
     
    		{
    			// System.out.println("Erreur, le fichier n'existe pas ou est mal
    			// formaté");
    			e.printStackTrace();
    		}
    		for (int i = 1; i < tableau.length; i++) {
    			System.out.print(tableau[i]);
    			System.out.print(" ");
    			c = c + 1;
    			if (c == 6) {
    				c = 1;
    				System.out.println(" ");
    			}
    			n++;
     
    		}
     
     
    		}
    	//}
    	public static int recherche(int maValeur, int[] tab, int depart) {
    		int monIndice = -1;
    		for (int i = depart; monIndice == -1 && i < tab.length; i++) {
     
     
    			if (maValeur == tab[i]) {
    				//System.out.println(i);
    				monIndice = i;
     
    			}
    		}
    		return monIndice;
    	}
     
    	/**
             * MAIN
             */
    	public static void main(String[] args) {
    		// On lance notre lire fichier
    		new files();
    	}
    }

  4. #24
    Membre confirmé
    Avatar de Jacques Beauregard
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2015
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2015
    Messages : 231
    Points : 595
    Points
    595
    Par défaut
    for (int i = 0; i < tableau.length - 1; i++) {

    int indiceTrouve = recherche(tableau[i], tableau, i + 1);
    Que vaut tableau[0] ?
    puisque juste au-dessus :
    for (int i = 1; i < tableau.length; i++) {

    tableau[i] = Integer.parseInt(args[i]);
    Il ne faut jamais prendre les gens pour des cons, mais il ne faut pas oublier qu'ils le sont...

    Le guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #25
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut oui
    cette ligne semble marcher elle affiche bien
    les chiffre du fichier..

    mais la rempli le tableau

    plus loin j'ai voulu verifier si bien dans le tableau.....mais en dirais qu il y a des erreur

  6. #26
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut precision sur le fichier
    dans le fichier text:

    12344444 11 22 34 94 85
    23222424 37 86 98 92 23
    43543543 21 11 37 49 50
    7565765 12 10 56 22 56
    65677744 1 54 23 44 96
    78846546 17 42 91 34 97
    etc

    le chiffre n est pas mis dans le tableau ,juste les 5 chiffre qui suive
    ensuite en part du premier chiffre le 11 que en trouve a la 3 eme ligne est en sauverai ca dans tableau2 par exemple
    en suite chiffre suivant le 22 que en trouve a la 4 eme ligne tableau[2]=4
    est ainsi de suite

  7. #27
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    C'est n'importe quoi : ton fichier ne correspond pas du tout à ce que tu as décrit jusqu'à maintenant, et certainement pas à ton code. Donc c'est normal que tu n'obtiens pas le résultat escompté.

    Déjà ton code lit ligne à ligne, et traite ligne à ligne : donc, tu ne pourras pas trouvé de doublons sur plusieurs lignes.
    Ensuite, après t'avoir répeté je ne sais combien de fois que tu ne lisais pas la première valeur, ce que @Jacques Beauregard, t'a fait remarqué aussi hier, tu réagis enfin, en évoquant que la première valeur de chaque ligne du fichier doit être ignorée. Ce qui n'a rien à voir avec le fait que la première valeur du tableau n'est pas affectée mais traitée quand même soit dit en passant !

    Donc déjà, pour la lecture :

    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
     
    List<Integer> nombreLus = new ArrayList<Integer>(); // on ne peut pas connaitre le nombre de nombres à lire tant qu'on a pas lu toutes les lignes, donc on utilise une liste, c'est le plus simple
    try (BufferedReader b = new BufferedReader(new FileReader(new File("D:/taxe.txt")))) {
    			String line;
    			// Lecture du fichier ligne par ligne. Cette boucle se termine
    			// quand la méthode retourne la valeur null.
       while ((line = b.readLine()) != null) {
     
          String[] args = line.split("\\s+");
     
     
          for (int i = 1; i < tableau.length; i++) {
     
    	   nombreLus.add(Integer.parseInt(args[i]));
     
     
         }
       }
    }
    int[] tableau = nombreLus.toArrays(new int[nombreLus.size()]); // conversion en tableau
    Maintenant, tableau contient bien tous les nombres de ton fichier, sauf les premiers de chaque ligne.
    Tu peux donc traiter ce tableau avec le reste du code qui a été écrit dans ce sens.

    PS. je ne sais pas ce que tu veux faire avec ton tableau2... (ni avec tableau3, et tableau4).

    Si tu ne dois pas passer par une liste, tu peux soit créé un tableau immense, de 1000 comme tu fais, ce qui est une façon bien pourrie de le faire. Soit tu fais de la concaténation/copie au fur et à mesure :

    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
     
    int[] tableau = null; // on ne peut pas connaitre le nombre de nombres à lire tant qu'on a pas lu toutes les lignes, donc on utilise une liste, c'est le plus simple
    try (BufferedReader b = new BufferedReader(new FileReader(new File("D:/taxe.txt")))) {
    			String line;
    			// Lecture du fichier ligne par ligne. Cette boucle se termine
    			// quand la méthode retourne la valeur null.
       while ((line = b.readLine()) != null) {
     
          String[] args = line.split("\\s+");
     
          int[] lecture = new int[args.length-1]; // on crée un tableau temporaire pour la lecture
     
          for (int i = 1; i < tableau.length; i++) {
     
    	   lecture[i-1]=Integer.parseInt(args[i]);
     
     
         }
     
         if ( tableau==null ) {
              tableau = lecture;
         }
         else { // on va créer un tableau temporaire pour copier les 2 autres dedans
              int[] temp = new int[tableau.length+lecture.length];
              System.arrayCopy(tableau, 0, temp, 0, tableau.length); // copie tableau dans temp (tu peux faire ça aussi avec une boucle si tu préfères ne pas utiliser autre chose)
              System.arrayCopy(lecture, 0, temp, tableau.length, lecture.length); // copie lecture dans temp (même remarque que ligne précédente)
              tableau = temp;
         }
     
       }
    } 
    // le reste du traitement peut être fait, à partir d'ici...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #28
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut erreur je sais pas pourquoi
    Nom : java.png
Affichages : 228
Taille : 23,5 Kola ligne
    me dit erreur
    multiple marker as this line
    syntax error on token ";" , esped afer token....

    je sais pas pourquoi le ; est juste si je enleve me fais erreur aussi


    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
    package taxe;
    import java.io.*;
    import java.util.Arrays;
    import java.util.List;
    public class taxes {
     
     
    int[] tableau = null ; 
    // on ne peut pas connaitre le nombre de nombres à lire tant qu'on a pas lu toutes les lignes, donc on utilise une liste, c'est le plus simple
    try (BufferedReader b = new BufferedReader(new FileReader(new File("D:/taxe.txt")))) {
    			String line;
    			// Lecture du fichier ligne par ligne. Cette boucle se termine
    			// quand la méthode retourne la valeur null.Nom : java.png
    Affichages : 228
    Taille : 23,5 Ko
       while ((line = b.readLine()) != null) {
     
          String[] args = line.split("\\s+");
     
          int[] lecture = new int[args.length-1]; // on crée un tableau temporaire pour la lecture
     
          for (int i = 1; i < tableau.length; i++) {
     
    	   lecture[i-1]=Integer.parseInt(args[i]);
     
     
         }
     
         if ( tableau==null ) {
              tableau = lecture;
         }
         else { // on va créer un tableau temporaire pour copier les 2 autres dedans
              int[] temp = new int[tableau.length+lecture.length];
              System.arrayCopy(tableau, 0, temp, 0, tableau.length); // copie tableau dans temp (tu peux faire ça aussi avec une boucle si tu préfères ne pas utiliser autre chose)
              System.arrayCopy(lecture, 0, temp, tableau.length, lecture.length); // copie lecture dans temp (même remarque que ligne précédente)
              tableau = temp;
         }
     
       }
    } 
    // le reste du traitement peut être fait, à partir d'ici...
     
    }

  9. #29
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Mais il faut mettre le code dans une méthode bien sûr, comme tu avais avant ! Pas directement dans la classe !

    En revanche, j'ai fait une erreur sur System.arraycopy() : ce n'est pas System.arrayCopy().
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  10. #30
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut pas compris methode
    tu entend quoi par methode...`?
    j ai essayer de le mettre comme avant est il fait erreur aussi

  11. #31
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Par méthode j'entends méthode, ou constructeur éventuellement. Là où on met le code Java habituellement. C'est quand même la base !

    Ensuite, me dire qu'il y a une erreur ne suffit : il faudrait me dire quelle erreur, ce serait mieux. Le problème venait du tableau référencé dans la boucle de lecture di fichier : il fallait parcourir args et non pas tableau.

    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
    package files;
     
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
     
    public class files {
     
    	/**
             * Constructeur
             */
    	public files() {
    		int[] tableau = null; 
    		try (BufferedReader b = new BufferedReader(new FileReader(new File("d:/taxe.txt")))) {
    			String line;
    			// Lecture du fichier ligne par ligne. Cette boucle se termine
    			// quand la méthode retourne la valeur null.
    			while ((line = b.readLine()) != null) {
     
    				String[] args = line.split("\\s+");
     
    				int[] lecture = new int[args.length - 1]; // on crée un tableau
    															// temporaire pour
    															// la lecture
     
    				for (int i = 1; i < args.length; i++) {
     
    					lecture[i - 1] = Integer.parseInt(args[i]);
     
    				}
     
    				if (tableau == null) {
    					tableau = lecture;
    				} else { // on va créer un tableau temporaire pour copier les 2
    							// autres dedans
    					int[] temp = new int[tableau.length + lecture.length];
    					System.arraycopy(tableau, 0, temp, 0, tableau.length); // copie tableau dans temp 
    					System.arraycopy(lecture, 0, temp, tableau.length, lecture.length); // copie lecture dans temp (même remarque que ligne précédente)
    					tableau = temp;
    				}
     
    			}
     
     
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
     
    		// affichage
     
    		System.out.println("Valeurs dans tableau : ");
    		for (int i = 0; i < tableau.length; i++) {
    			System.out.print(tableau[i]);
    			if (((i + 1) % 5) == 0) {
    				System.out.println();
    			} else {
    				System.out.print(" ");
    			}
    		}
     
    		int indiceTableau = 0;
    		int[] tableauIndiceCherche = new int[tableau.length];
    		int[] tableauIndiceTrouve = new int[tableau.length];
    		for (int i = 0; i < tableau.length - 1; i++) {
     
    			int indiceTrouve = recherche(tableau[i], tableau, i + 1);
    			if (indiceTrouve >= 0) {
    				// par exemple
    				tableauIndiceCherche[indiceTableau] = i;
    				tableauIndiceTrouve[indiceTableau] = indiceTrouve;
     
    				indiceTableau++; // on passe à la case suivante
     
    			}
     
    		}
     
    		// afichage des résultats
    		for(int i=0; i<indiceTableau; i++) {
    			System.out.println("La valeur tableau[" + tableauIndiceCherche[i]+"]="+tableau[tableauIndiceCherche[i]]+" a été trouvée en double en position " + tableauIndiceTrouve[i] + ": tableau["+tableauIndiceTrouve[i]+"]="+tableau[tableauIndiceTrouve[i]]);
    		}
     
    	}
     
    	public static int recherche(int maValeur, int[] tab, int depart) {
    		int monIndice = -1;
    		for (int i = depart; monIndice == -1 && i < tab.length; i++) {
     
    			if (maValeur == tab[i]) {
    				// System.out.println(i);
    				monIndice = i;
     
    			}
    		}
    		return monIndice;
    	}
     
    	/**
             * MAIN
             */
    	public static void main(String[] args) {
    		// On lance notre lire fichier
    		new files();
    	}
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  12. #32
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut oui ca joue la
    tableau[tableauIndiceTrouve[i]]

    c est dans un tableau ca ?
    non pas besoin que je sauve ca dans un tableau2 par exemple?

    si j ai envie de travailler avec cette indice trouver

    j'ai essayerd esauvr ca dans un tableau2 mais me fais erreur a cause je sais pas initialiser un tableau a taille inconnu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableau2[i]=tableau[tableauIndiceTrouve[i]];
    j'ai mis au debut un

    mais fais erreur

    Description Resource Path Location Type
    Null pointer access: The variable tableau2 can only be null at this location

    essayer aussi

    meme erreur

  13. #33
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut tri
    mon tableau trier ne vas pas me sort des 0000 au debut
    si j enleve le arrays.sort ca joue ,juste pas trier



    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
    for(int i=0; i<indiceTableau; i++) {
    			//System.out.println("La valeur tableau[" + tableauIndiceCherche[i]+"]="+tableau[tableauIndiceCherche[i]]+" a été trouvée en double en position " + tableauIndiceTrouve[i] + ": tableau["+tableauIndiceTrouve[i]+"]="+tableau[tableauIndiceTrouve[i]]);
    			j=j+1;
    			tableau3[j]=tableau[tableauIndiceTrouve[i]];
     
    			if (((i + 1) % 5) == 0) {
    				Arrays.sort( tableau3 );
    				for(int a=1; a<6; a++) {
    					//System.out.println("tableau 3");
    					System.out.print(tableau3[a]);	
    					System.out.print(" ");	}
    				j=0;
    				System.out.println(" ");
    				//System.out.println();
     
    			} else {
    				System.out.print(" ");
    			}
     
    			//tableau2[i]=tableau[tableauIndiceTrouve[i]];
    		}

  14. #34
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut ok resolu
    j'avais mis tableau3 a 10
    forcement me sorter les zero au début merci

  15. #35
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Si tu veux créer un tableau avec les indices trouvés ou valeurs trouvées, il faut le créer après la boucle de recherche (là où j'ai mis le commentaire // afichage des résultats). Juste après, je parcours le tableau et j'affiche les valeurs qu'il y a dedans : il y a tout là, même pour un débutant, pôur voir comment remplir le nouveau tableau créé !
    La variable indiceTableau contient la taille de ce tableau, donc tu peux créer ton tableau2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int[] tableau2 = new int[indiceTableau];
    for(int i=0; i<indiceTableau; i++) {
        tableau2[i]=tableau[tableauIndiceTrouve[i]]; // si tu veux les valeurs de doublons dans tableau2
    }
    Citation Envoyé par giovanni Voir le message
    mon tableau trier ne vas pas me sort des 0000 au debut
    si j enleve le arrays.sort ca joue ,juste pas trier
    Il faut remplir d'abord le tableau, puis le trier (en dehors de la boucle) : là tu le tries dans la boucle, à chaque itération, donc la première fois, il y a qu'une seule valeur forcément, et le reste est à 0, donc forcément avec le tri croissant, tu as ces zéros au début.
    Tu fais une boucle pour remplir le tableau (voir ci-dessus), tu tries, puis tu fais une autre boucle pour afficher.


    Citation Envoyé par giovanni Voir le message
    j'avais mis tableau3 a 10
    forcement me sorter les zero au début merci
    Je n'ai rien compris.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  16. #36
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut tableau3
    j avais initialiser le tableau3[10]
    mais je ne utilise que 5 pour ca en array.sort me sorter 5 fois zero comme pas utiliser
    0 0 0 0 0 1 2 3 4 5

    voila pourquoi j'ai resolu
    merci

    sinon pour le reste tout va bien tout marche je vous remercie

  17. #37
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par giovanni Voir le message
    sinon pour le reste tout va bien tout marche je vous remercie
    Si tout est vraiment résolu, passe le fil en "résolu" avec le bouton en bas de la page.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/05/2007, 14h35
  2. [Tableaux] tri sur un tableau multidimensionnel
    Par maysa dans le forum Langage
    Réponses: 3
    Dernier message: 11/04/2007, 08h53
  3. [Tableaux] Tri sur un tableau à 2 dimensions
    Par DrOOMMgba dans le forum Langage
    Réponses: 4
    Dernier message: 03/04/2007, 19h47
  4. [Collection] Tri sur un tableau d'entier
    Par Grand sorcier dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 17/07/2006, 16h07
  5. [Tableaux] tri sur un tableau multi-dimensionnel
    Par nicoaix dans le forum Langage
    Réponses: 1
    Dernier message: 12/04/2006, 21h23

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